次のクラッシュレポートが表示されます。 iOS 8搭載のデバイスでのみ発生します。メッセージに注意してください。
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'this request has been neutered - you can't call -sendResponse: twice nor after encoding it'
クラッシュレポート:
Date/Time: 2014-08-31T01:39:15Z
OS Version: iPhone OS 8.0 (12A4345d)
Report Version: 104
Exception Type: SIGABRT
Exception Codes: #0 at 0x1964cb270
Crashed Thread: 0
Application Specific Information:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'this request has been neutered - you can't call -sendResponse: twice nor after encoding it'
Last Exception Backtrace:
0 CoreFoundation 0x0000000186192084 CFDateGetTimeIntervalSinceDate + 19604
1 libobjc.A.dylib 0x0000000195d3c0e4 objc_exception_throw + 56
2 CoreFoundation 0x0000000186191f44 CFDateGetTimeIntervalSinceDate + 19280
3 Foundation 0x0000000187075e20 _NSSetExceptionRaiser + 340
4 BaseBoard 0x000000018c1deb90 BSMainScreenOrientation + 4856
5 libdispatch.dylib 0x000000019638d254 0x19638c000 + 4692
6 libdispatch.dylib 0x0000000196395d50 dispatch_barrier_sync_f + 1176
7 BaseBoard 0x000000018c1deae4 BSMainScreenOrientation + 4684
8 UIKit 0x000000018ac9df88 _UIBackdropViewSettingsColorCancelRed + 28984
9 libdispatch.dylib 0x000000019638d294 0x19638c000 + 4756
10 libdispatch.dylib 0x000000019638d254 0x19638c000 + 4692
11 libdispatch.dylib 0x000000019639103c _dispatch_main_queue_callback_4CF + 952
12 CoreFoundation 0x00000001861498dc CFRunLoopTimerSetTolerance + 4196
13 CoreFoundation 0x0000000186147984 _CFRunLoopGet2b + 3316
14 CoreFoundation 0x0000000186075664 CFRunLoopRunSpecific + 392
15 GraphicsServices 0x000000018f0a75a4 GSEventRunModal + 164
16 UIKit 0x000000018a82e164 UIApplicationMain + 1484
17 Taptalk 0x00000001000bfccc main (main.m:21)
18 libdyld.dylib 0x00000001963b2a08 _tlv_bootstrap + 232
再現できませんが、アプリをバックグラウンドから起動すると発生するようです。どこから探したらいいですか?
バグは次のコールバックにありました:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler
completionHandler
を2回呼び出すと、クラッシュが発生します。これはiOS8以降で発生します。