iOS App 运行 后台任务时间

iOS App running background task time

所以我正在我的应用程序中执行后台任务,它是这样启动的:

private func someFunc() 
{
    backgroundTask = UIApplication.sharedApplication().beginBackgroundTaskWithExpirationHandler({
        // Present a local Notification
    })

    // Present a different local Notification

    DDLogInfo("Is in bg: \(UIApplication.sharedApplication().applicationState == .Background)")
    DDLogInfo("BG-time remaining: \(UIApplication.sharedApplication().backgroundTimeRemaining)")
}

我的问题是 backgroundTimeRemaining 总是 returns 1.79769313486232e+308。这应该只在应用程序处于活动状态时发生。但是这个函数只有当应用程序在后台运行时才会被调用,第一个日志语句证实了这一点。

我还尝试在 5 秒后发送日志语句并断开设备与 Xcode 的连接(正如另一个 SO post 上有人建议的那样),但没有成功。

事实证明,这是 iOS 9.1 中的错误,自 9.2 以来已修复。 如果您仍然遇到此问题,请确保您的应用确实在后台 运行:)