混淆了来自TestFlight分布式应用程序的Crashlytics报告

时间:2014-07-29 20:19:05

标签: ios crash-reports testflight crashlytics

我正在使用TestFlight分发测试版应用和Crashlytics以进行崩溃报告,但我收到的一些报告却毫无用处。堆栈跟踪不是显示有问题的代码行,而是显示如下内容:

-[__TFAppUpdater_Helper .cxx_destruct] + 28868

我在代码中注释掉了所有TestFlight SDK调用,但我仍在使用TestFlight进行分发。我可以通过Xcode在我自己的设备上安装应用程序,绕过TestFlight,然后Crashlytics为同一个崩溃生成一个有用的报告。我在网上看到很多证据表明TestFlight和Crashlytics应该玩得很好,但到目前为止我的经验还不是。

示例Crashlytics混淆了通过TestFlight安装的应用程序的堆栈跟踪(相关行用 - >表示):

Thread : Fatal Exception: NSInvalidArgumentException
0  CoreFoundation                 0x30709fd3 __exceptionPreprocess + 130
1  libobjc.A.dylib                0x3b1ecccf objc_exception_throw + 38
2  CoreData                       0x3045f367 -[NSSQLGenerator newSQLStatementForFetchRequest:ignoreInheritance:countOnly:nestingLevel:] + 914
3  CoreData                       0x3045ee97 -[NSSQLAdapter _newSelectStatementWithFetchRequest:ignoreInheritance:] + 406
4  CoreData                       0x3045eafd -[NSSQLCore newRowsForFetchPlan:] + 116
5  CoreData                       0x3045e23d -[NSSQLCore objectsForFetchRequest:inContext:] + 696
6  CoreData                       0x3045dceb -[NSSQLCore executeRequest:withContext:error:] + 446
7  CoreData                       0x3045d59d -[NSPersistentStoreCoordinator executeRequest:withContext:error:] + 2892
8  CoreData                       0x3045b99f -[NSManagedObjectContext executeFetchRequest:error:] + 614
9  CoreData                       0x304e9d33 -[NSManagedObjectContext(_NestedContextSupport) _parentObjectsForFetchRequest:inContext:error:] + 398
10 CoreData                       0x304ea4ab __82-[NSManagedObjectContext(_NestedContextSupport) executeRequest:withContext:error:]_block_invoke + 562
11 libdispatch.dylib              0x3b6d481f _dispatch_client_callout + 22
12 libdispatch.dylib              0x3b6da7cb _dispatch_barrier_sync_f_invoke + 26
13 CoreData                       0x304dfdf3 _perform + 102
14 CoreData                       0x304ea1ad -[NSManagedObjectContext(_NestedContextSupport) executeRequest:withContext:error:] + 240
15 CoreData                       0x3045b99f -[NSManagedObjectContext executeFetchRequest:error:] + 614
16 CoreData                       0x30474e49 -[NSFetchedResultsController performFetch:] + 524
-->17 Titís                         0x00115925 -[__TFAppUpdater_Helper .cxx_destruct] + 28940
-->18 Titís                         0x00114435 -[__TFAppUpdater_Helper .cxx_destruct] + 23580
19 UIKit                          0x32f5b057 -[UIApplication sendAction:to:from:forEvent:] + 90
20 UIKit                          0x32f5aff7 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30
21 UIKit                          0x32f5afd1 -[UIControl sendAction:to:forEvent:] + 44
22 UIKit                          0x32f46737 -[UIControl _sendActionsForEvents:withEvent:] + 374
-->23 Titís                         0x0011e599 -[__TFAppUpdater_Helper .cxx_destruct] + 64896
24 UIKit                          0x33198cc5 -[UIPickerView _sendSelectionChangedForComponent:notify:] + 92
25 UIKit                          0x333ef4f7 -[UIPickerTableView _scrollingFinished] + 154
26 UIKit                          0x330c1977 -[UIScrollView(UIScrollViewInternal) _stopScrollDecelerationNotify:] + 806
27 UIKit                          0x32ff7d67 -[UIScrollView(UIScrollViewInternal) _stopScrollingNotify:pin:tramplingDragFlags:] + 466
28 UIKit                          0x32ff7b8b -[UIScrollView(UIScrollViewInternal) _stopScrollingNotify:pin:] + 30
29 UIKit                          0x330c123b -[UIScrollView _smoothScrollWithUpdateTime:] + 3322
30 QuartzCore                     0x32bf1df3 CA::Display::DisplayLinkItem::dispatch() + 98
31 QuartzCore                     0x32bf1b9d CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 344
32 IOMobileFramebuffer            0x3595f75d IOMobileFramebufferVsyncNotifyFunc + 104
33 IOKit                          0x313f4451 IODispatchCalloutFromCFMessage + 248
34 CoreFoundation                 0x306c9ef9 __CFMachPortPerform + 136
35 CoreFoundation                 0x306d4ab7 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
36 CoreFoundation                 0x306d4a53 __CFRunLoopDoSource1 + 346
37 CoreFoundation                 0x306d3227 __CFRunLoopRun + 1398
38 CoreFoundation                 0x3063df4f CFRunLoopRunSpecific + 522
39 CoreFoundation                 0x3063dd33 CFRunLoopRunInMode + 106
40 GraphicsServices               0x35537663 GSEventRunModal + 138
41 UIKit                          0x32f8916d UIApplicationMain + 1136
-->42 Titís                         0x000ee657 main (main.m:16)
43 libdyld.dylib                  0x3b6f9ab7 start + 2

示例Crashlytics有用的堆栈跟踪来自通过Xcode安装的应用程序(相关行用 - >表示):

Thread : Fatal Exception: NSInvalidArgumentException
0  CoreFoundation                 0x30709fd3 __exceptionPreprocess + 130
1  libobjc.A.dylib                0x3b1ecccf objc_exception_throw + 38
2  CoreData                       0x3045f367 -[NSSQLGenerator newSQLStatementForFetchRequest:ignoreInheritance:countOnly:nestingLevel:] + 914
3  CoreData                       0x3045ee97 -[NSSQLAdapter _newSelectStatementWithFetchRequest:ignoreInheritance:] + 406
4  CoreData                       0x3045eafd -[NSSQLCore newRowsForFetchPlan:] + 116
5  CoreData                       0x3045e23d -[NSSQLCore objectsForFetchRequest:inContext:] + 696
6  CoreData                       0x3045dceb -[NSSQLCore executeRequest:withContext:error:] + 446
7  CoreData                       0x3045d59d -[NSPersistentStoreCoordinator executeRequest:withContext:error:] + 2892
8  CoreData                       0x3045b99f -[NSManagedObjectContext executeFetchRequest:error:] + 614
9  CoreData                       0x304e9d33 -[NSManagedObjectContext(_NestedContextSupport) _parentObjectsForFetchRequest:inContext:error:] + 398
10 CoreData                       0x304ea4ab __82-[NSManagedObjectContext(_NestedContextSupport) executeRequest:withContext:error:]_block_invoke + 562
11 libdispatch.dylib              0x3b6d481f _dispatch_client_callout + 22
12 libdispatch.dylib              0x3b6da7cb _dispatch_barrier_sync_f_invoke + 26
13 CoreData                       0x304dfdf3 _perform + 102
14 CoreData                       0x304ea1ad -[NSManagedObjectContext(_NestedContextSupport) executeRequest:withContext:error:] + 240
15 CoreData                       0x3045b99f -[NSManagedObjectContext executeFetchRequest:error:] + 614
16 CoreData                       0x30474e49 -[NSFetchedResultsController performFetch:] + 524
-->17 Titís                         0x000e983d -[EntityListCell initFetchedResults] (EntityListCell.m:242)
-->18 Titís                         0x000e834d -[EntityListCell sortPickerChanged:] (EntityListCell.m:79)
19 UIKit                          0x32f5b057 -[UIApplication sendAction:to:from:forEvent:] + 90
20 UIKit                          0x32f5aff7 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30
21 UIKit                          0x32f5afd1 -[UIControl sendAction:to:forEvent:] + 44
22 UIKit                          0x32f46737 -[UIControl _sendActionsForEvents:withEvent:] + 374
-->23 Titís                         0x000f24b1 -[ObjectPicker pickerView:didSelectRow:inComponent:] (ObjectPicker.m:173)
24 UIKit                          0x33198cc5 -[UIPickerView _sendSelectionChangedForComponent:notify:] + 92
25 UIKit                          0x333ef4f7 -[UIPickerTableView _scrollingFinished] + 154
26 UIKit                          0x330c1977 -[UIScrollView(UIScrollViewInternal) _stopScrollDecelerationNotify:] + 806
27 UIKit                          0x32ff7d67 -[UIScrollView(UIScrollViewInternal) _stopScrollingNotify:pin:tramplingDragFlags:] + 466
28 UIKit                          0x32ff7b8b -[UIScrollView(UIScrollViewInternal) _stopScrollingNotify:pin:] + 30
29 UIKit                          0x330c123b -[UIScrollView _smoothScrollWithUpdateTime:] + 3322
30 QuartzCore                     0x32bf1df3 CA::Display::DisplayLinkItem::dispatch() + 98
31 QuartzCore                     0x32bf1b9d CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 344
32 IOMobileFramebuffer            0x3595f75d IOMobileFramebufferVsyncNotifyFunc + 104
33 IOKit                          0x313f4451 IODispatchCalloutFromCFMessage + 248
34 CoreFoundation                 0x306c9ef9 __CFMachPortPerform + 136
35 CoreFoundation                 0x306d4ab7 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
36 CoreFoundation                 0x306d4a53 __CFRunLoopDoSource1 + 346
37 CoreFoundation                 0x306d3227 __CFRunLoopRun + 1398
38 CoreFoundation                 0x3063df4f CFRunLoopRunSpecific + 522
39 CoreFoundation                 0x3063dd33 CFRunLoopRunInMode + 106
40 GraphicsServices               0x35537663 GSEventRunModal + 138
41 UIKit                          0x32f8916d UIApplicationMain + 1136
-->42 Titís                         0x000b80ad main (main.m:16)
43 libdyld.dylib                  0x3b6f9ab7 start + 2

2 个答案:

答案 0 :(得分:0)

前几天我的项目遇到了同样的问题,发现本教程解决了问题(通过禁用testflight'崩溃处理程序)

http://www.grahamdennis.me/blog/2012/10/21/how-to-disable-testflights-crash-handlers/

答案 1 :(得分:0)

正如所建议的,这被证明是一个符号问题,并且更改Xcode中的构建设置修复了它。虽然我没有使用他们的平台,但我在HockeyApp documentation

中找到了解决方案
  

对于静态库,构建设置包含以下内容:

     

复制期间剥离调试符号:否
剥离样式:调试   符号
剥离链接产品:否

     

对于应用程序目标或OS X框架,构建设置应该   包含以下版本(App Store)构建配置:

     

复制期间剥离调试符号:是
  条形样式:所有符号
   剥离链接产品:是