5
应用程序配置为在后台接收位置更新以保持应用程序处于活动状态,并且在应用程序处于后台时成功接收更新。如何在应用程序处于后台时接收达尔文通知
达尔文通知也已配置,并且只有当应用程序是前台的当前应用程序时才会收到通知。只要应用程序放在后台,它就会停止接收达尔文通知。
有关如何在应用程序处于后台时接收达尔文通知的任何想法?
下面的代码片段。
建筑应用中Swift2
在appdeligate
let callback: @convention(c)
(CFNotificationCenter!, UnsafeMutablePointer<Void>, CFString!, UnsafePointer<Void>, CFDictionary!) -> Void = {
(center, observer, name, object, userInfo) in
//Execute callback code
}
let exCb: CFNotificationCallback = unsafeBitCast(callback, CFNotificationCallback.self)
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(),nil ,exCb,"com.apple.springboard.hasBlankedScreen" as CFString,nil ,CFNotificationSuspensionBehavior.DeliverImmediately)
在视图 - 控制
locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
//locationManager.requestWhenInUseAuthorization()
locationManager.requestAlwaysAuthorization()
locationManager.startUpdatingLocation()
你有没有尝试过启用后台模式'位置更新'并检查委托方法'locationManager:didUpdateLocations:'是否被称为 –
@ Rich16你有没有得到这个工作?如果是这样,它仍然在iOS 10上工作吗? – simonthumper