我有一个iPhone应用程序,它只有在通过TestFlight或App Store发布后才会在iOS9设备上崩溃。构建规范是:应用程序在启动时立即崩溃..仅通过TestFlight或Store在iOS9上发生崩溃。使用Xcode 8发布
部署目标8.1 基地SDK:最新的iOS(iOS版10.1)
之前,我张贴的崩溃日志我想提一提,这个应用程序已经在App Store在过去的2年并从未有过问题。今年我们已经对应用商店进行了3次更新,其中2次是在iOS10发布之后,iOS9设备没有问题。
奇怪的是,我们使用的是Crashlytics,它已经报告了600多次崩溃,其中每一次崩溃都指向内部苹果框架或私有API。我有一个iOS 9.2.1设备,它也崩溃,我已经从日志中提取。他们开始遵循一个趋势,但我需要一些帮助来破译崩溃的原因。
崩溃1:
Thread 0 Crashed:
0 libobjc.A.dylib 0x22fb3af6 objc_msgSend + 22
1 libobjc.A.dylib 0x22fc0f8a objc_object::sidetable_release(bool) + 150
2 libobjc.A.dylib 0x22fc13cc (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 388
3 FrontBoardServices 0x24aebc7e -[FBSSerialQueue _performNext] + 242
4 FrontBoardServices 0x24aebf60 -[FBSSerialQueue _performNextFromRunLoopSource] + 44
5 CoreFoundation 0x2379d256 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
6 CoreFoundation 0x2379ce46 __CFRunLoopDoSources0 + 454
7 CoreFoundation 0x2379b1ae __CFRunLoopRun + 806
8 CoreFoundation 0x236edbb8 CFRunLoopRunSpecific + 516
9 CoreFoundation 0x236ed9ac CFRunLoopRunInMode + 108
10 UIKit 0x279dfa16 -[UIApplication _run] + 526
11 UIKit 0x279d9fb4 UIApplicationMain + 144
12 Where Next 0x000a7816 main (main.m:16)
13 libdyld.dylib 0x233a0872 start + 2
崩溃2:
Thread 0 Crashed:
0 libobjc.A.dylib 0x22fb3af6 objc_msgSend + 22
1 CoreUI 0x277e3022 -[CUICatalog _resolvedRenditionKeyFromThemeRef:withBaseKey:scaleFactor:devic eIdiom:deviceSubtype:sizeClassHorizontal:sizeClassVertical:memoryClass:graphicsClass:graphicsFallBackOrder:] + 646
2 CoreUI 0x277e2d98 -[CUICatalog _resolvedRenditionKeyForName:scaleFactor:deviceIdiom:deviceSubt ype:sizeClassHorizontal:sizeClassVertical:memoryClass:graphicsClass:graphicsFallBackOrder:withBaseKeySelector:] + 284
3 CoreUI 0x277e252a -[CUICatalog namedLookupWithName:scaleFactor:deviceIdiom:deviceSubtype:sizeClassHorizontal:sizeClassVertical:] + 94
4 UIKit 0x28183a2c __98-[_UIAssetManager imageNamed:scale:idiom:subtype:cachingOptions:sizeClassPair:attachCatalogImage:]_block_invoke + 496
5 UIKit 0x2818377e -[_UIAssetManager imageNamed:scale:idiom:subtype:cachingOptions:sizeClassPair:attachCatalogImage:] + 230
6 UIKit 0x2798bcd4 -[_UIAssetManager imageNamed:scale:idiom:subtype:] + 108
7 UIKit 0x2798bc62 -[_UIAssetManager imageNamed:idiom:subtype:] + 46
8 UIKit 0x2798bc2e -[_UIAssetManager imageNamed:idiom:] + 46
9 UIKit 0x27e1e438 -[UIImageNibPlaceholder initWithCoder:] + 456
10 UIKit 0x27f32180 UINibDecoderDecodeObjectForValue + 780
11 UIKit 0x27f31e68 -[UINibDecoder decodeObjectForKey:] + 296
12 UIKit 0x27e0a602 -[UIButtonContent initWithCoder:] + 382
13 UIKit 0x27f32180 UINibDecoderDecodeObjectForValue + 780
14 UIKit 0x27f3250c UINibDecoderDecodeObjectForValue + 1688
15 UIKit 0x27f31e68 -[UINibDecoder decodeObjectForKey:] + 296
16 UIKit 0x27e0d03c -[UIButton initWithCoder:] + 748
17 UIKit 0x27f32180 UINibDecoderDecodeObjectForValue + 780
18 UIKit 0x27f31e68 -[UINibDecoder decodeObjectForKey:] + 296
19 UIKit 0x27e1d202 -[UIRuntimeConnection initWithCoder:] + 114
20 UIKit 0x27e1d88c -[UIRuntimeEventConnection initWithCoder:] + 52
21 UIKit 0x27f32180 UINibDecoderDecodeObjectForValue + 780
22 UIKit 0x27f32112 UINibDecoderDecodeObjectForValue + 670
23 UIKit 0x27f31e68 -[UINibDecoder decodeObjectForKey:] + 296
24 UIKit 0x27e1c796 -[UINib instantiateWithOwner:options:] + 1110
25 UIKit 0x27cd6676 -[UIViewController _loadViewFromNibNamed:bundle:] + 322
26 UIKit 0x27aab9d6 -[UIViewController loadView] + 142
27 UIKit 0x27971a0a -[UIViewController loadViewIfRequired] + 150
28 UIKit 0x27971958 -[UIViewController view] + 24
29 UIKit 0x281edf4a __67-[UIStoryboardEmbedSegueTemplate newDefaultPerformHandlerForSegue:]_block_invoke + 498
30 UIKit 0x280642d4 -[UIStoryboardSegueTemplate _performWithDestinationViewController:sender:] + 432
31 UIKit 0x28064102 -[UIStoryboardSegueTemplate _perform:] + 66
32 UIKit 0x28064374 -[UIStoryboardSegueTemplate perform:] + 132
33 UIKit 0x27971bca -[UIViewController loadViewIfRequired] + 598
34 UIKit 0x27971958 -[UIViewController view] + 24
35 UIKit 0x279786d0 -[UIWindow addRootViewControllerViewIfPossible] + 68
36 UIKit 0x27975bf2 -[UIWindow _setHidden:forced:] + 278
37 UIKit 0x279ea914 -[UIWindow makeKeyAndVisible] + 48
38 UIKit 0x27c0f11c -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 3320
39 UIKit 0x27c12f0e -[UIApplication _runWithMainScene:transitionContext:completion:] + 1570
40 UIKit 0x27c26c14 __84-[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:]_block_invoke3228 + 36
41 UIKit 0x27c103f6 -[UIApplication workspaceDidEndTransaction:] + 134
42 FrontBoardServices 0x24aebc74 -[FBSSerialQueue _performNext] + 232
43 FrontBoardServices 0x24aebf60 -[FBSSerialQueue _performNextFromRunLoopSource] + 44
44 CoreFoundation 0x2379d256 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
45 CoreFoundation 0x2379ce46 __CFRunLoopDoSources0 + 454
46 CoreFoundation 0x2379b1ae __CFRunLoopRun + 806
47 CoreFoundation 0x236edbb8 CFRunLoopRunSpecific + 516
48 CoreFoundation 0x236ed9ac CFRunLoopRunInMode + 108
49 UIKit 0x279dfa16 -[UIApplication _run] + 526
50 UIKit 0x279d9fb4 UIApplicationMain + 144
51 Where Next 0x000e8816 main (main.m:16)
52 libdyld.dylib 0x233a0872 start + 2
崩溃3:
Thread 0 Crashed:
0 libsystem_malloc.dylib 0x2349c43a tiny_free_list_remove_ptr + 126
1 libsystem_malloc.dylib 0x2349b4d0 szone_free_definite_size + 932
2 libcache.dylib 0x2330d6f4 cache_set_name + 20
3 CoreFoundation 0x2372eb94 -[NSCache setName:] + 136
4 CoreUI 0x277e2f0e -[CUICatalog _resolvedRenditionKeyFromThemeRef:withBaseKey:scaleFactor:devic eIdiom:deviceSubtype:sizeClassHorizontal:sizeClassVertical:memoryClass:graphicsClass:graphicsFallBackOrder:] + 370
5 CoreUI 0x277e2d98 -[CUICatalog _resolvedRenditionKeyForName:scaleFactor:deviceIdiom:deviceSubt ype:sizeClassHorizontal:sizeClassVertical:memoryClass:graphicsClass:graphicsFallBackOrder:withBaseKeySelector:] + 284
6 CoreUI 0x277e252a -[CUICatalog namedLookupWithName:scaleFactor:deviceIdiom:deviceSubtype:sizeClassHorizontal:sizeClassVertical:] + 94
7 UIKit 0x28183a2c __98-[_UIAssetManager imageNamed:scale:idiom:subtype:cachingOptions:sizeClassPair:attachCatalogImage:]_block_invoke + 496
8 UIKit 0x2818377e -[_UIAssetManager imageNamed:scale:idiom:subtype:cachingOptions:sizeClassPair:attachCatalogImage:] + 230
9 UIKit 0x28183f50 -[_UIAssetManager imageNamed:withTrait:] + 408
10 UIKit 0x27c4e94c +[UIImage imageNamed:inBundle:compatibleWithTraitCollection:] + 172
11 UIKit 0x27aae536 +[UIImage imageNamed:] + 110
12 Where Next 0x000e555e -[PreferenceObject resetLocations] (PreferenceObject.m:184)
13 Where Next 0x000e4b6e __33+[PreferenceObject sharedManager]_block_invoke (PreferenceObject.m:92)
14 libdispatch.dylib 0x23377dc2 _dispatch_client_callout + 22
15 libdispatch.dylib 0x233789b2 dispatch_once_f + 62
16 Where Next 0x000e4980 +[PreferenceObject sharedManager] (once.h:75)
17 Where Next 0x00102440 -[AppDelegate application:didFinishLaunchingWithOptions:] (AppDelegate.m:57)
18 Where Next 0x002ced6a VMDidFinishLaunchingWithOptions (UIApplication+VMRuntime.m:138)
19 UIKit 0x279e664e -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 394
20 UIKit 0x27c0f032 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 3086
21 UIKit 0x27c12f0e -[UIApplication _runWithMainScene:transitionContext:completion:] + 1570
22 UIKit 0x27c26c14 __84-[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:]_block_invoke3228 + 36
23 UIKit 0x27c103f6 -[UIApplication workspaceDidEndTransaction:] + 134
24 FrontBoardServices 0x24aebc74 -[FBSSerialQueue _performNext] + 232
25 FrontBoardServices 0x24aebf60 -[FBSSerialQueue _performNextFromRunLoopSource] + 44
26 CoreFoundation 0x2379d256 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
27 CoreFoundation 0x2379ce46 __CFRunLoopDoSources0 + 454
28 CoreFoundation 0x2379b1ae __CFRunLoopRun + 806
29 CoreFoundation 0x236edbb8 CFRunLoopRunSpecific + 516
30 CoreFoundation 0x236ed9ac CFRunLoopRunInMode + 108
31 UIKit 0x279dfa16 -[UIApplication _run] + 526
32 UIKit 0x279d9fb4 UIApplicationMain + 144
33 Where Next 0x00103816 main (main.m:16)
34 libdyld.dylib 0x233a0872 start + 2
最后两个崩溃看起来他们可能在寻找的图像资产被失败。 ..但是,因为我不能在调试模式或任何形式的从Xcode“运行”复制我卡住了。
感谢帮助社区!
嗨埃德温,谢谢你的真棒答案!我已经尝试了你提到的所有这些方法。我也试图提高调试的优化级别,但无济于事。最糟糕的部分也是它在记录器有机会使用TestFlight提交崩溃之前崩溃。我将再次尝试改变配置以释放。牛逼 –
很抱歉我不能帮助更多:(。这是一个艰难的一个,但我敢肯定你会通过它! –