【问题标题】:Application Crash because of active assertions beyond permitted time由于超出允许时间的活动断言导致应用程序崩溃
【发布时间】:2012-06-26 07:01:58
【问题描述】:

崩溃报告详情:

Exception Type:  00000020
Exception Codes: 0x8badf00d
Highlighted Thread:  3

Application Specific Information:
MyApp[123] has active assertions beyond permitted time: 
{(
    <SBProcessAssertion: 0x4b52f0> identifier: CoreLocationBackgroundClient process: MyApp[579] permittedBackgroundDuration: 600.000000 reason: finishTask owner pid:123 preventSuspend  preventIdleSleep 
)}

Elapsed total CPU time (seconds): 13.980 (user 13.980, system 0.000), 1% CPU 
Elapsed application CPU time (seconds): 0.251, 0% CPU

线程 3 是:

Thread 3 name:  com.apple.NSURLConnectionLoader
Thread 3:
0   libsystem_kernel.dylib          0x30e67004 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x30e671fa mach_msg + 50
2   CoreFoundation                  0x381ea3ec __CFRunLoopServiceMachPort + 120
3   CoreFoundation                  0x381e9124 __CFRunLoopRun + 876
4   CoreFoundation                  0x3816c49e CFRunLoopRunSpecific + 294
5   CoreFoundation                  0x3816c366 CFRunLoopRunInMode + 98
6   Foundation                      0x373a7bb2 +[NSURLConnection(Loader) _resourceLoadLoop:] + 302
7   Foundation                      0x373a7a7a -[NSThread main] + 66
8   Foundation                      0x3743b58a __NSThread__main__ + 1042
9   libsystem_c.dylib               0x333c972e _pthread_start + 314
10  libsystem_c.dylib               0x333c95e8 thread_start + 0

应用程序使用 GPS。知道为什么会发生这种崩溃吗?

【问题讨论】:

  • @rishi。这是我第一次面临这个问题。您可以查看我的旧问题。
  • 我刚刚给出了与您的问题完全相同的问题链接,希望对您解决问题有所帮助。没有难受的感觉!!!!
  • 哦。对此感到抱歉。我可以看到同步连接是一个问题。当 GPS 开启时,我的应用程序运行良好。但如果 GPS 关闭,那么它就会崩溃。
  • 这只是意味着当您获取数据时一切都很好,一旦数据停止出现问题,您需要检查代码中数据的处理。对此不太确定。

标签: objective-c ios cocoa-touch nsurlconnection core-location


【解决方案1】:

您似乎使用了错误的后台处理方式。 600 秒是赠品。这表明您正在使用任务完成 API,它为应用程序提供有限的时间(当前为 10 分钟)以在暂停某些活动之前完成它们。

如果您想在后台继续监控 GPS 位置,您需要使用特定的核心位置 API(并在 Info.plist 中设置适当的标志)。

【讨论】:

  • 您好,我已经在使用所需的后台模式作为定位服务 (GPS) 进行后台处理。当应用程序处于后台时,任务运行良好。我突然崩溃了,我关闭了我的应用程序 GPS 并尝试执行一些任务。我猜 NSURLConnection 有问题
  • 嗨,我在后台使用 NStimer 并发送 http 请求并处理它,但它认为这个错误可以帮助我吗?
  • @JigneshB 这听起来像是一个新问题。位置服务是 iOS 上的一个特例。 NSTimer 不会超过 10 分钟,因此您需要执行诸如后台获取之类的操作。
猜你喜欢
  • 1970-01-01
  • 2011-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-31
  • 1970-01-01
  • 2012-01-19
相关资源
最近更新 更多