2012-04-11 1 views
1

Прежде всего, я не знаю, что вызывает проблему, и я могу воспроизвести ее только после перезагрузки устройства. После этого приложение прекрасное.Приложение iOS заморожено в течение 10 секунд при запуске в режиме «setupAutoMigratingCoreDataStack»

  • Я использую MagicalRecords lib.
  • "[MagicalRecordHelpers setupAutoMigratingCoreDataStack]" называется внутри "приложение: didFinishLaunchingWithOptions:".
  • После нескольких внутренних вызовов метода и он замерзает на 10-15 секунд.

Это журнал с Консоли, где вы можете увидеть информацию о звонке и тайминги. Я только заметил, что он заморожен некоторыми странными (для меня) вызовами низкого уровня.

Apr 11 17:39:21 unknown MY_APP[130] <Warning>: didFinishLaunchingWithOptions: start 
Apr 11 17:39:21 unknown MY_APP[130] <Warning>: didFinishLaunchingWithOptions: DATA > migration 
Apr 11 17:39:21 unknown MY_APP[130] <Warning>: --- MR_coordinatorWithAutoMigratingSqliteStoreNamed 
Apr 11 17:39:21 unknown MY_APP[130] <Warning>: --- MR_setDefaultStoreCoordinator 
Apr 11 17:39:21 unknown MY_APP[130] <Warning>: --- MR_contextWithStoreCoordinator 
Apr 11 17:39:21 unknown MY_APP[130] <Warning>: +[NSManagedObjectContext(MagicalRecord) MR_contextWithStoreCoordinator:](0x3ed04728) Creating MOContext *** On Main Thread *** 
Apr 11 17:39:21 unknown MY_APP[130] <Warning>: +[NSManagedObjectContext(MagicalRecord) MR_contextWithStoreCoordinator:](0x3ed04728) Creating context in Context Private Queue Mode 
Apr 11 17:39:21 unknown MY_APP[130] <Warning>: --- MR_setDefaultContext 
Apr 11 17:39:21 unknown librariand[132] <Notice>: changing log level to 5 
Apr 11 17:39:22 unknown com.apple.launchd[1] <Warning>: (com.apple.ubd) Exited with code: 10 
Apr 11 17:39:22 unknown com.apple.launchd[1] <Warning>: (com.apple.ubd) Throttling respawn: Will start in 10 seconds 
> 
Apr 11 17:39:33 unknown librariand[132] <Error>: client process 130 does not have a valid com.apple.developer.ubiquity-container-identifiers entitlement 
Apr 11 17:39:33 unknown librariand[132] <Error>: error in handle_container_path_request: LibrarianErrorDomain/9/The client process does not have a valid com.apple.developer.ubiquity-container-identifiers entitlement 
Apr 11 17:39:33 unknown librariand[132] <Error>: client process 130 does not have a valid com.apple.developer.ubiquity-container-identifiers entitlement 
Apr 11 17:39:33 unknown librariand[132] <Error>: error in handle_container_path_request: LibrarianErrorDomain/9/The client process does not have a valid com.apple.developer.ubiquity-container-identifiers entitlement 
Apr 11 17:39:33 unknown MY_APP[130] <Warning>: --- setupCoreDataStackWithAutoMigratingSqliteStoreNamed END 
Apr 11 17:39:33 unknown MY_APP[130] <Warning>: didFinishLaunchingWithOptions: DATA > prefilling 
Apr 11 17:39:33 unknown MY_APP[130] <Warning>: didFinishLaunchingWithOptions: UI 
Apr 11 17:39:33 unknown librariand[132] <Warning>: items added, refreshing item updates for file://localhost/private/var/mobile/Library/Mobile%20Documents/ 
Apr 11 17:39:33 unknown MY_APP[130] <Warning>: didFinishLaunchingWithOptions: end 

Я действительно не знаю, сталкиваются ли пользователи с этой проблемой. Но если это может произойти, возможно, это произойдет во многих случаях.

Я знаю, что проблему трудно проанализировать, но если у вас есть хоть какая-то связанная мысль или просто идея, пожалуйста, поделитесь. Также, пожалуйста, задайте любые детали.

благодарит заранее.

+0

Показать код вместо NSLogs. в частности, 'setupAutoMigratingCoreDataStack' функция. – WrightsCS

+0

добавить подобные журналы, но им с помощью NSManagedDocument, вы когда-нибудь нашел то, что было проблема? –

ответ

0

Итак, похоже, что iCloud пытается инициализировать там. Я слышал, что это проблема, однако Apple предлагает вызвать URLForUbiquityContainerIdentifier: на NSFileManager. Это то, что происходит под обложками в этом методе, но кажется, что в какой-то момент этот метод также задыхается ... не уверен, что делать иначе, чем в NSManagedObjectContext метод категории MR_observeiCloudChangesInCoordinator, закомментируйте строки, которые вызывают isICloudEnabled ... то есть, скорее всего, ваше решение сейчас :(