Приложение настроено на получение обновлений местоположения в фоновом режиме, чтобы поддерживать активное приложение и получать обновления, когда приложение находится в фоновом режиме.Как получить уведомления Darwin, когда приложение находится в фоновом режиме
Уведомления Darwin также были настроены и принимаются только в том случае, когда приложение является текущим приложением на переднем плане. Как только приложение помещается в фоновом режиме, оно перестает получать уведомления Darwin.
Любые мысли о том, как получать уведомления Darwin, когда приложение находится в фоновом режиме?
Фрагменты кода ниже.
Строительство App в 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)
в ViewController
locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
//locationManager.requestWhenInUseAuthorization()
locationManager.requestAlwaysAuthorization()
locationManager.startUpdatingLocation()
Вы пытались включить фоновый режим 'Обновления местоположения' и проверить, действительно ли метод делегирования' locationManager: didUpdateLocations: 'называется –
@ Rich16, вы когда-нибудь получали эту работу? И если да, то все еще работает на iOS 10? – simonthumper