iphone崩溃日志:preventSuspend preventIdleSleep

时间:2010-12-30 00:32:10

标签: iphone audio crash streaming

我写过一个可以传输几个广播电台的iPhone应用程序。该应用程序工作正常,似乎没有崩溃,它甚至在后台运行良好。唯一的问题是,当我查看iPhone上的崩溃日志时,总会有上述崩溃日志的多个实例。这似乎不正常。我有什么办法可以摆脱这次崩溃吗?同样,用户永远不会看到崩溃,并且应用程序实际上在后台运行超过600秒就好了。

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

Application Specific Information:
CBCJazz[1196] has active assertions beyond permitted time: 
{(
  <SBProcessAssertion: 0x63f8f90> identifier: UIKitBackgroundCompletionTask process: CBCJazz[1196] permittedBackgroundDuration: 600.000000 reason: finishTask owner pid:1196 preventSuspend  preventIdleSleep 
)}

感谢您的帮助,

-RawMean

2 个答案:

答案 0 :(得分:0)

您必须将密钥UIBackgroundModes添加到Info.plist文件中。此键应指示一个数组,您应该添加一个值为audio的字符串元素。

不要只是启动后台任务而忽略来自监视程序的终止警告。如果您已经完成了此步骤,那么崩溃日志可能就在您执行此操作之前。

有关详细信息,请参阅Declaring the Background Tasks You Support中的iOS Application Programming Guide

答案 1 :(得分:0)

最有可能的是,你没有正确地结束你的后台任务。问题是每一次 应用程序在后台运行,创建新任务。每项任务都必须结束。看到 UIKitBackgroundCompletionTask - iPhone application crash