我写过一个可以传输几个广播电台的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
答案 0 :(得分:0)
您必须将密钥UIBackgroundModes
添加到Info.plist
文件中。此键应指示一个数组,您应该添加一个值为audio
的字符串元素。
不要只是启动后台任务而忽略来自监视程序的终止警告。如果您已经完成了此步骤,那么崩溃日志可能就在您执行此操作之前。
有关详细信息,请参阅Declaring the Background Tasks You Support中的iOS Application Programming Guide。
答案 1 :(得分:0)
最有可能的是,你没有正确地结束你的后台任务。问题是每一次 应用程序在后台运行,创建新任务。每项任务都必须结束。看到 UIKitBackgroundCompletionTask - iPhone application crash