2016-04-21 4 views
5

Приложение настроено на получение обновлений местоположения в фоновом режиме, чтобы поддерживать активное приложение и получать обновления, когда приложение находится в фоновом режиме.Как получить уведомления 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() 
+0

Вы пытались включить фоновый режим 'Обновления местоположения' и проверить, действительно ли метод делегирования' locationManager: didUpdateLocations: 'называется –

+0

@ Rich16, вы когда-нибудь получали эту работу? И если да, то все еще работает на iOS 10? – simonthumper

ответ

0

Убедитесь, что вы активировали возможность Location updates в Background Modes.

Location updates capability

Это позволит вашему приложению получать изменения местоположения в фоновом режиме и продолжить логику. Отличная библиотека для такого рода функций - INTULocationManager.

Смежные вопросы