2015-05-09 91 views
1

我的應用得到了拒絕上推出崩潰,並象徵着崩潰日誌我有這個後:應用程序拒絕對persistenstore創建崩潰

Incident Identifier: -- 
CrashReporter Key: -- 
Hardware Model:  xxx 
Process:    BUDGT [1029] 
Path:    /private/var/mobile/Containers/Bundle/Application/F5D98A63-AF73-4A76-A80C-EA57B4E41082/BUDGT.app/BUDGT 
Identifier:   --.BUDGT 
Version:    1 (4) 
Code Type:   ARM-64 (Native) 
Parent Process:  launchd [1] 

Date/Time:   2015-05-08 18:09:23.379 -0700 
Launch Time:   2015-05-08 18:09:23.142 -0700 
OS Version:   iOS 8.3 (12F70) 
Report Version:  105 

Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x0000000000000000, 0x0000000000000000 
Triggered by Thread: 0 

Thread 0 name: Dispatch queue: com.apple.main-thread 
Thread 0 Crashed: 
0 libsystem_kernel.dylib   0x0000000197acb270 __pthread_kill + 8 
1 libsystem_pthread.dylib   0x0000000197b6916c pthread_kill + 108 
2 libsystem_c.dylib    0x0000000197a42b14 abort + 108 
3 BUDGT       0x000000010009ee5c -[AppDelegate persistentStoreCoordinator] (AppDelegate.m:222) 
4 BUDGT       0x000000010009e96c -[AppDelegate managedObjectContext] (AppDelegate.m:153) 
5 BUDGT       0x00000001000a0abc -[Factory setupDataHandler] (Factory.m:54) 
6 BUDGT       0x00000001000a0830 -[Factory init] (Factory.m:30) 
7 BUDGT       0x00000001000a07c4 __25+[Factory defaultFactory]_block_invoke (Factory.m:22) 
8 libdispatch.dylib    0x0000000197985950 _dispatch_client_callout + 12 
9 libdispatch.dylib    0x0000000197986828 dispatch_once_f + 92 
10 BUDGT       0x00000001000a0794 +[Factory defaultFactory] (once.h:68) 
11 BUDGT       0x000000010009dab8 -[AppDelegate application:didFinishLaunchingWithOptions:] (AppDelegate.m:17) 
12 UIKit       0x000000018a5c318c -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 400 
13 UIKit       0x000000018a7da850 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 2372 
14 UIKit       0x000000018a7dd204 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1500 
15 UIKit       0x000000018a7db774 -[UIApplication workspaceDidEndTransaction:] + 180 
16 FrontBoardServices    0x000000018e3193c4 __31-[FBSSerialQueue performAsync:]_block_invoke_2 + 28 
17 CoreFoundation     0x0000000185ac8278 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 16 
18 CoreFoundation     0x0000000185ac7380 __CFRunLoopDoBlocks + 308 
19 CoreFoundation     0x0000000185ac59a4 __CFRunLoopRun + 1752 
20 CoreFoundation     0x00000001859f12d0 CFRunLoopRunSpecific + 392 
21 UIKit       0x000000018a5bc438 -[UIApplication _run] + 548 
22 UIKit       0x000000018a5b6fa8 UIApplicationMain + 1484 
23 BUDGT       0x000000010009da38 main (main.m:16) 
24 libdyld.dylib     0x00000001979b2a04 start + 0 

,這意味着它必須在我AppDelegate

這裏未能在 abort()
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator 
{ 

    if (persistentStoreCoordinator != nil) 
    { 
     return persistentStoreCoordinator; 
    } 
    NSError *error = nil; 
    persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]]; 
    NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"database.sqlite"]; 
    NSPersistentStoreCoordinator *psc = persistentStoreCoordinator; 
    NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys: 
          [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, 
          [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil]; 

    NSPersistentStore *store = [psc addPersistentStoreWithType:NSSQLiteStoreType 
               configuration:nil URL:storeURL 
                 options:options error:&error]; 
    if (!store) { 
     NSLog(@"Unresolved Error"); 
     abort(); // This is line 222 of AppDelegate 
    } 


    return persistentStoreCoordinator; 
} 

獲取目錄是這樣的:

- (NSURL *)applicationDocumentsDirectory { 
    return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; 
} 

和媽媽那樣:

- (NSManagedObjectModel *)managedObjectModel { 
    if (managedObjectModel != nil) 
    { 
     return managedObjectModel; 
    } 
    managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:nil] ; 

    return managedObjectModel; 
} 

蘋果拒絕消息:

,因爲它崩潰啓動時,我們無法審覈您的應用。

我個人不能重現問題。

這兩個都是我的設備和模擬器的更新 - 以及乾淨的版本運行良好沒有任何問題。

我在本申請中改變的一件事是:

  • 爲應用組支持(coredata容器是在應用組容器)
  • 改變到的CocoaPods用於增加
  • 聯WatchKit App
  • 今天增加分機
  • 遷移了所有視圖以使用AutoLayout (砌築)

但我不是通過應用程序組容器訪問核心數據,但它仍然只是坐在手機上(應該呆在那裏)我使用的應用程序組不同的東西(通過它傳遞簡單的信息)。

任何想法什麼可能導致這個蘋果審查小組啓動時崩潰的應用程序?

部署目標是iOS的8.2(適用於所有應用程序&擴展)

更新

我只是手動安裝提交的檔案(原構建的應用程序商店提交)用於清潔設備。一切正常。沒有問題,沒有崩潰。

我還能檢查什麼?

+0

可以取代你的‘未解決的錯誤’記錄與NSError你有設置嗎?還有,你預填充您的數據存儲? – Siriss

+0

可悲我不能,崩潰日誌來自蘋果,我不能重現錯誤 - 它從來沒有在我的設備上崩潰:/ –

+0

您是否在數據模型中做過任何更新?新實體,屬性等?我看到輕量級遷移選項,但你爲你的更新創建新的版本模型?或者你的模型更改(如果存在的話)與輕量級遷移不兼容 – Krivoblotsky

回答

2

那麼...答案很簡單。我的應用程序沒有問題。 「

」謝謝你的迴應。經進一步審查,我們發現了 應用程序不再崩潰的推出。」