У меня есть приложение, которое создает постоянное хранилище в приложении: didFinishLaunchingWithOptions. Добавление магазина, по-видимому, может занять слишком много времени, что приводит к тому, что iOS завершает работу приложения до его завершения. Как добавить магазин в координатор от основного потока? Любые примеры? stackoverflow linkПриложение Core Data не удалось запустить вовремя
Версия ОС: IOS 6.1.3 (10B329) Версия отчета: 104
Тип исключения: 00000020 Исключительные коды: 0x000000008badf00d Выделенные темы: 0
Application Specific Информация: ком. maksanzhi.person не удалось запустить вовремя
Истекшее общее время процессора (в секундах): 13.470 (пользователь 13.470, система 0.000), 22% CPU истекшее время применения процессора (в секундах): 0,343, 1% CPU
Поток 0 Имя: очереди отправки: com.apple.main-нить резьбы 0:
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
if (_persistentStoreCoordinator != nil) {
return _persistentStoreCoordinator;
}
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"COOLPERSONS.sqldata"];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:[storeURL path]]) {
NSURL *defaultStoreURL = [[NSBundle mainBundle] URLForResource:@"COOLPERSONS" withExtension:@"sqldata"];
if (defaultStoreURL) {
[fileManager copyItemAtURL:defaultStoreURL toURL:storeURL error:NULL];
[self addSkipBackupAttributeToItemAtURL:storeURL];
}
}
NSError *error = nil;
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
return _persistentStoreCoordinator;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
UINavigationController *nav = (UINavigationController *)self.window.rootViewController;
MainViewController *cvtc = (MainViewController *)[[nav viewControllers]objectAtIndex:0];
cvtc.managedObjectContext = self.managedObjectContext;
[self setAppereance];
return YES;
}
Просто создание магазина обычно занимает много времени. Можете ли вы показать нам весь ваш код запуска? Возможно, профилировщик будет вам полезен при определении времени, в которое вы едите. –
Я отредактировал вопрос с дополнительной информацией. – Astakhoff