2015-06-15 24 views
1

我是iOS新手,我的iOS應用程序崩潰(由供應商開發)。 我已經學會了閱讀日誌,這是我所看到的:谷歌Analytics(分析)3.12在iOS上崩潰

2015-06-15 19:00:51.628 my_app[2540:113596] WARNING: GoogleAnalytics 3.12 void GAIUncaughtExceptionHandler(NSException *) (GAIUncaughtExceptionHandler.m:48): Uncaught exception: *** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array 
2015-06-15 19:00:51.636 my_app[2540:113791] INFO: GoogleAnalytics 3.12 -[GAIAnalyticsPropertiesStore propertyRecordForTrackingId:] (GAIAnalyticsPropertiesStore.m:464): Record for tracking id my_tracking_id not found 
2015-06-15 19:00:51.640 my_app[2540:113791] VERBOSE: GoogleAnalytics 3.12 -[GAIBatchingDispatcher persist:] 

我想知道,如果谷歌分析導致崩潰或別的東西是觸發崩潰。 API調用很好,應用程序的其他部分工作正常。

編輯 產生額外的堆棧跟蹤

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array' 
*** First throw call stack: 
(
    0 CoreFoundation      0x000000010656cc65 __exceptionPreprocess + 165 
    1 libobjc.A.dylib      0x0000000106205bb7 objc_exception_throw + 45 
    2 CoreFoundation      0x000000010646317e -[__NSArrayI objectAtIndex:] + 190 
    3 my_app       0x0000000105396095 -[PromotionDetailViewController tableView:cellForRowAtIndexPath:] + 4213 
    4 UIKit        0x00000001076faa28 -[UITableView _createPreparedCellForGlobalRow:withIndexPath:willDisplay:] + 508 
    5 UIKit        0x00000001076d9248 -[UITableView _updateVisibleCellsNow:isRecursive:] + 2853 
    6 UIKit        0x00000001076ef8a9 -[UITableView layoutSubviews] + 210 
    7 UIKit        0x0000000107679a2b -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 536 
    8 QuartzCore       0x00000001073d1ec2 -[CALayer layoutSublayers] + 146 
    9 QuartzCore       0x00000001073c66d6 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 380 
    10 QuartzCore       0x00000001073c6546 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24 
    11 QuartzCore       0x0000000107332886 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 242 
    12 QuartzCore       0x0000000107333a3a _ZN2CA11Transaction6commitEv + 462 
    13 QuartzCore       0x00000001073340eb _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 89 
    14 CoreFoundation      0x000000010649fca7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 
    15 CoreFoundation      0x000000010649fc00 __CFRunLoopDoObservers + 368 
    16 CoreFoundation      0x0000000106495a33 __CFRunLoopRun + 1123 
    17 CoreFoundation      0x0000000106495366 CFRunLoopRunSpecific + 470 
    18 GraphicsServices     0x0000000109f4ca3e GSEventRunModal + 161 
    19 UIKit        0x00000001075f9900 UIApplicationMain + 1282 
    20 my_app       0x00000001053de35f main + 111 
    21 libdyld.dylib      0x0000000108a15145 start + 1 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
+0

做,你必須包含日誌堆棧跟蹤?如果是這樣,請添加到您的問題 –

回答

1

一種方法來調試這個問題是在objectAtIndex添加符號斷點:這可能導致許多命中objectAtIndex:前調試器到達你是一個之後但它保證找到它。

步驟在Xcode 4:

View > Navigators > Breakpoint Navigator 
click '+' and choose Add Symbolic Breakpoint in the pop-up 
type in "objectAtIndex:" in the Symbol text field and click Done 

在運行時,如果你不能告訴objectAtIndex:你打,一路移動滑塊在調試導航器的底部右側。

+0

謝謝。我遵循你的步驟,並通過編輯我的問題添加了新的堆棧跟蹤。 – pixelscreen

1

剛剛遇到類似的問題,並得出結論,它是而不是谷歌分析導致崩潰。爲了報告目的,Google Analytics(分析)僅僅是圍繞另一次崩潰。

如果更改以下設置在您的應用程序委託的didFinishLaunchingWithOptions:(或其他位置),碰撞會出現在Xcode控制檯中正常誤差:

GAI *gai = [GAI sharedInstance]; gai.trackUncaughtExceptions = NO;