【发布时间】:2018-05-16 12:36:24
【问题描述】:
我正在尝试遵循 iOS 能源指南并让我的应用了解低功耗模式;为此,我遵循here 发布的指南,该指南提供了有关如何订阅此类事件的代码。我已经实现了这个功能,如下所示:
/// Function to subscribe to low-power mode events
///
func subscribeToLowBatteryNotification() {
NotificationCenter.default.addObserver(self,
selector: #selector(lowBatteryHandle),
name: Notification.Name.NSProcessInfoPowerStateDidChange,
object: nil)
}
/// handler for low-power mode events.
///
@objc func lowBatteryHandle(_ notification: Notification) {
let lowPowerModeEnabled = ProcessInfo.processInfo.isLowPowerModeEnabled
if lowPowerModeEnabled {
stopTrackingBackground()
} else {
startTrackingBackground()
}
}
这很简单。然后我将我的应用程序置于后台,同时根据需要不断跟踪位置;然后我启用低功耗模式和通知 确实收到(在后台)成功提示应用程序暂停跟踪。不幸的是,当禁用低功耗并且我希望收到一个类似的状态更改事件(在后台)时,这不会在后台收到,并且该事件仅在以下情况下传递给应用程序我再次进入应用程序。有谁知道如何在后台接收这些事件?
【问题讨论】:
标签: ios background