2015-10-02 37 views
7

我一直通過Crashlytics在我的應用程序中收到此錯誤。我無法找到這個崩潰發生的地點和方式。這裏是日誌從Crashlytics:iOS CoreLocation(空)崩潰

Thread : Crashed: com.apple.main-thread 
0 CoreLocation     0x0000000183f62304 (null) + 60044 
1 CoreLocation     0x0000000183f230f0 (null) + 1436 
2 CoreLocation     0x0000000183f230f0 (null) + 1436 
3 CoreLocation     0x0000000183f2261c (null) + 1980 
4 CoreFoundation     0x0000000183754c9c __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28 
5 CoreFoundation     0x0000000183754940 __CFRunLoopDoTimer + 884 
6 CoreFoundation     0x0000000183752054 __CFRunLoopRun + 1520 
7 CoreFoundation     0x0000000183680dc0 CFRunLoopRunSpecific + 384 

,這也說明: 崩潰:com.apple.main線程 EXC_BAD_ACCESS KERN_INVALID_ADDRESS在0x6136383561626000

任何人都可以點我朝着正確的方向?謝謝

+1

它說你在定時器回調中崩潰。這就是它說的。 – matt

+1

你解決了這個問題嗎? –

+1

你解決了這個問題嗎? – MMSousa

回答

0

當應用程序變爲非活動狀態時,計時器需要失效。在applicationWillResignActive方法中,使計時器對象無效。您可以使用applicationDidBecomeActive方法將其重置。從文檔:

您應該使用此方法來暫停正在進行的任務,禁用定時器,並且降低OpenGL ES幀速率。遊戲應該使用這個方法來暫停遊戲 。處於非活動狀態的應用程序應該在等待轉換到活動或背景 狀態時進行最小程度的 工作。

如果您正在構建需要在後臺收集位置的應用程序,請確保使用位置更新後臺功能。

您還可以嘗試使用iOS的HyperTrack SDK,它將爲您設置此功能併爲您設置更多功能,以便您可以構建自己的位置功能,而不用擔心這種煩人的工作。 (免責聲明:我在HyperTrack工作。)