![](/img/trans.png)
[英]How do I access crash reports instead of .ips.beta files for a TestFlight Beta-distributed app from device in Xcode 6.3?
[英]Confusing Crashlytics reports from TestFlight distributed app
我正在使用TestFlight分發Beta版應用程序和Crashlytics進行崩潰報告,但是我得到的某些報告卻毫無用處。 堆棧跟蹤沒有顯示有問題的代碼行,而是顯示了以下內容:
-[__TFAppUpdater_Helper .cxx_destruct] + 28868
我已經在代碼中注釋掉了所有的TestFlight SDK調用,但是我仍然在分發TestFlight。 我可以繞過TestFlight,通過Xcode將應用安裝在自己的設備上,然后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
通過Xcode安裝的應用程序中的示例Crashlytics有用的堆棧跟蹤(用->表示的相關行):
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
前幾天,我的項目遇到了同樣的問題,並找到了解決該問題的本教程(通過禁用testflight的崩潰處理程序)
http://www.grahamdennis.me/blog/2012/10/21/how-to-disable-testflights-crash-handlers/
正如建議的那樣,事實證明這是一個符號問題,更改Xcode中的構建設置可以解決該問題。 盡管我沒有使用他們的平台,但是我在HockeyApp文檔中找到了解決方案:
對於靜態庫,構建設置包含以下內容:
復制期間去除調試符號:否
條形樣式:調試符號
帶狀連接產品:否對於應用程序目標或OS X框架,構建設置應包含以下版本(App Store)構建配置:
復制期間去除調試符號:是
條形樣式:所有符號
帶狀鏈接產品:是
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.