iOS Today Extension中出现奇怪的NSInternalInconsistencyException和PKService崩溃

时间:2015-03-24 23:13:12

标签: ios objective-c crashlytics today-extension

我在iOS Today Extension上安装了Crashlytics,我遇到了这个奇怪的崩溃。有谁知道为什么会发生这种情况?

  

致命异常:NSInternalInconsistencyException   删除非活动插件com.somecompany.someapp.TodayExtension(1.0)>

它崩溃的行是

  

11 PlugInKit - [PKService unregisterPersonality:] + 188

在我今天的扩展程序中,在viewDidLoad中,它将获取用户的当前位置,然后发出网络请求以获取有关该位置的数据。这是否发生是因为我的操作耗时太长而且iOS正在杀死我的扩展程序?我无法重现这一点,但我认为用户看到的是一个空白区域,其中的扩展名应该是,或者除了扩展名的标题之外没有显示任何内容。


    Thread : Fatal Exception: NSInternalInconsistencyException
    0  CoreFoundation                 0x0000000181cc2530 __exceptionPreprocess + 132
    1  libobjc.A.dylib                0x0000000192c980e4 objc_exception_throw + 60
    2  CoreFoundation                 0x0000000181cc23f0 +[NSException raise:format:]
    3  Foundation                     0x0000000182b6dc34 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 112
    4  PlugInKit                      0x000000018d1c04a0 __35-[PKService unregisterPersonality:]_block_invoke + 488
    5  libdispatch.dylib              0x00000001932e9954 _dispatch_client_callout + 16
    6  libdispatch.dylib              0x00000001932f31e4 _dispatch_barrier_sync_f_invoke + 76
    7  PlugInKit                      0x000000018d1c024c -[PKService unregisterPersonality:] + 188
    8  PlugInKit                      0x000000018d1bdfec -[PKServicePersonality shutdownPlugIn] + 108
    9  CoreFoundation                 0x0000000181cc8350 __invoking___ + 144
    10 CoreFoundation                 0x0000000181bc621c -[NSInvocation invoke] + 296
    11 Foundation                     0x0000000182c9d33c __NSXPCCONNECTION_IS_CALLING_OUT_TO_EXPORTED_OBJECT__ + 24
    12 Foundation                     0x0000000182b4b8c8 -[NSXPCConnection _decodeAndInvokeMessageWithData:] + 1604
    13 Foundation                     0x0000000182accbd4 message_handler + 708
    14 libxpc.dylib                   0x00000001934f0c78 _xpc_connection_call_event_handler + 68
    15 libxpc.dylib                   0x00000001934eeb7c _xpc_connection_mach_event + 2160
    16 libdispatch.dylib              0x00000001932e9a28 _dispatch_client_callout4 + 16
    17 libdispatch.dylib              0x00000001932ed140 _dispatch_mach_msg_invoke + 492
    18 libdispatch.dylib              0x00000001932f42d4 _dispatch_queue_drain + 2008
    19 libdispatch.dylib              0x00000001932ec668 _dispatch_mach_invoke + 136
    20 libdispatch.dylib              0x00000001932f42d4 _dispatch_queue_drain + 2008
    21 libdispatch.dylib              0x00000001932eca5c _dispatch_queue_invoke + 132
    22 libdispatch.dylib              0x00000001932f6318 _dispatch_root_queue_drain + 720
    23 libdispatch.dylib              0x00000001932f7c4c _dispatch_worker_thread3 + 108
    24 libsystem_pthread.dylib        0x00000001934c922c _pthread_wqthread + 816
    25 libsystem_pthread.dylib        0x00000001934c8ef0 start_wqthread + 4


    Thread : Crashed: service sync
    0  libsystem_kernel.dylib         0x000000019342f270 __pthread_kill + 8
    1  libsystem_pthread.dylib        0x00000001934cd170 pthread_kill + 112
    2  libsystem_c.dylib              0x00000001933a6b18 abort + 112
    3  libc++abi.dylib                0x0000000192465418 __cxa_bad_cast
    4  libc++abi.dylib                0x0000000192484b8c default_unexpected_handler()
    5  libobjc.A.dylib                0x0000000192c983c0 _objc_terminate() + 128
    6  libc++abi.dylib                0x0000000192481bb4 std::__terminate(void (*)()) + 16
    7  libc++abi.dylib                0x0000000192481c24 std::terminate() + 64
    8  libobjc.A.dylib                0x0000000192c98318 _destroyAltHandlerList
    9  libdispatch.dylib              0x00000001932e9968 _dispatch_client_callout + 36
    10 libdispatch.dylib              0x00000001932f31e4 _dispatch_barrier_sync_f_invoke + 76
    11 PlugInKit                      0x000000018d1c024c -[PKService unregisterPersonality:] + 188
    12 PlugInKit                      0x000000018d1bdfec -[PKServicePersonality shutdownPlugIn] + 108
    13 CoreFoundation                 0x0000000181cc8350 __invoking___ + 144
    14 CoreFoundation                 0x0000000181bc621c -[NSInvocation invoke] + 296
    15 Foundation                     0x0000000182c9d33c __NSXPCCONNECTION_IS_CALLING_OUT_TO_EXPORTED_OBJECT__ + 24
    16 Foundation                     0x0000000182b4b8c8 -[NSXPCConnection _decodeAndInvokeMessageWithData:] + 1604
    17 Foundation                     0x0000000182accbd4 message_handler + 708
    18 libxpc.dylib                   0x00000001934f0c78 _xpc_connection_call_event_handler + 68
    19 libxpc.dylib                   0x00000001934eeb7c _xpc_connection_mach_event + 2160
    20 libdispatch.dylib              0x00000001932e9a28 _dispatch_client_callout4 + 16
    21 libdispatch.dylib              0x00000001932ed140 _dispatch_mach_msg_invoke + 492
    22 libdispatch.dylib              0x00000001932f42d4 _dispatch_queue_drain + 2008
    23 libdispatch.dylib              0x00000001932ec668 _dispatch_mach_invoke + 136
    24 libdispatch.dylib              0x00000001932f42d4 _dispatch_queue_drain + 2008
    25 libdispatch.dylib              0x00000001932eca5c _dispatch_queue_invoke + 132
    26 libdispatch.dylib              0x00000001932f6318 _dispatch_root_queue_drain + 720
    27 libdispatch.dylib              0x00000001932f7c4c _dispatch_worker_thread3 + 108
    28 libsystem_pthread.dylib        0x00000001934c922c _pthread_wqthread + 816

我的主线程(虽然没有崩溃):


    Thread : com.apple.main-thread
    0  TodayExtension                 0x00000001000ae370 -[TodayViewController normalView] (TodayViewController.m:32)
    1  TodayExtension                 0x00000001000adf58 __36-[TodayViewController showErrorView]_block_invoke (TodayViewController.m:173)
    2  libdispatch.dylib              0x00000001932e9994 _dispatch_call_block_and_release + 24
    3  libdispatch.dylib              0x00000001932e9954 _dispatch_client_callout + 16
    4  libdispatch.dylib              0x00000001932ee20c _dispatch_main_queue_callback_4CF + 1608
    5  CoreFoundation                 0x0000000181c7a2ec __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
    6  CoreFoundation                 0x0000000181c78394 __CFRunLoopRun + 1492
    7  CoreFoundation                 0x0000000181ba51f4 CFRunLoopRunSpecific + 396
    8  GraphicsServices               0x000000018afc76fc GSEventRunModal + 168
    9  UIKit                          0x000000018653610c UIApplicationMain + 1488
    10 libxpc.dylib                   0x00000001934fc250 _xpc_objc_main + 768
    11 libxpc.dylib                   0x00000001934fdf38 xpc_main + 200
    12 Foundation                     0x0000000182ca1818 service_connection_handler
    13 PlugInKit                      0x000000018d1be910 -[PKService run] + 600
    14 PlugInKit                      0x000000018d1be548 +[PKService main] + 64
    15 PlugInKit                      0x000000018d1be938 +[PKService _defaultRun:arguments:] + 24
    16 libextension.dylib             0x00000001924f9960 NSExtensionMain + 68
    17 libdyld.dylib                  0x0000000193316a08 start + 4

1 个答案:

答案 0 :(得分:9)

我在Crashlytics上看到完全一样的东西。 根据Apple的说法,这次崩溃是iOS 8中的一个已知错误(包括8.3测试版)。崩溃仅在扩展程序关闭时发生,这意味着用户没有看到扩展程序崩溃。

所以我们现在唯一可以做的就是忽略这次崩溃