【问题标题】:iOS CoreLocation (null) crashiOS CoreLocation(空)崩溃
【发布时间】:2015-12-30 05:11:21
【问题描述】:

我通过 Crashlytics 在我的应用程序中遇到了这个错误。我无法找到此崩溃发生的位置和方式。以下是 Crashlytics 的日志:

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-thread EXC_BAD_ACCESS KERN_INVALID_ADDRESS 在 0x6136383561626000

谁能指出我正确的方向?谢谢

【问题讨论】:

  • 它说你在定时器回调中崩溃了。这就是它所说的全部
  • 问题解决了吗?
  • 问题解决了吗?
  • 这有什么更新吗?
  • 我也遇到了同样的问题,如果您解决了这个问题或找出为什么会这样,请告诉我?

标签: ios core-location exc-bad-access


【解决方案1】:

当应用程序处于非活动状态时,计时器需要失效。在applicationWillResignActive 方法中,使计时器对象无效。您可以在 applicationDidBecomeActive 方法中重新设置它。来自文档:

您应该使用此方法暂停正在进行的任务、禁用计时器以及 降低 OpenGL ES 帧速率。游戏应该使用这种方法来 暂停游戏。处于非活动状态的应用程序应该做的最少 在等待过渡到活动或后台时工作 状态。

如果您正在构建需要在后台收集位置的应用,请确保您使用了位置更新后台功能。

您还可以试用适用于 iOS 的 HyperTrack SDK,它会为您设置更多内容,以便您可以构建您的定位功能,而不必担心这项繁重的工作。 (免责声明:我在 HyperTrack 工作。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 2017-06-12
    • 2018-03-27
    • 2021-04-17
    • 2013-05-13
    相关资源
    最近更新 更多