应用程序拒绝对persistenstore创建崩溃(App rejected for crash o

2019-10-23 01:19发布

我的应用程序得到了拒绝上推出崩溃,并象征着崩溃日志我有此之后:

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

这意味着它必须在这里失败abort()在我AppDelegate

- (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应用
  • 今天加入扩展
  • 迁移所有视图使用自动版式(砌块)

但我不是通过应用程序组容器访问核心数据,但它仍然只是坐在手机上(应该呆在那里)我使用的应用程序组不同的东西(通过它传递简单的信息)。

任何想法可能是造成这个崩溃与苹果审查小组启动应用程序?

部署目标是iOS的8.2(对所有的应用程序和扩展)

更新

我只是手动安装提交的档案(原构建的应用程序商店提交)用于清洁设备。 一切完美。 没有问题,没有崩溃。

我还能检查?

Answer 1:

嗯...答案很简单。 有没有错,我的应用程序。

“谢谢您的答复。经进一步审查,我们发现应用程序不再崩溃的推出。”



文章来源: App rejected for crash on persistenstore creation