2016-04-21 12 views
5

L'app è configurata per ricevere gli aggiornamenti di posizione mentre è in background in modo da mantenere l'app attiva e gli aggiornamenti vengono ricevuti correttamente quando l'app è in background.Come ricevere le notifiche di Darwin quando l'app è in background

Anche le notifiche Darwin sono state configurate e vengono ricevute solo quando l'app è l'app corrente in primo piano. Non appena l'app viene messa in background, smette di ricevere le notifiche di Darwin.

Qualche idea su come ricevere le notifiche Darwin mentre l'app è in background?

Frammenti di codice di seguito.

costruzione App in Swift2

in 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) 

in viewcontroller

locationManager = CLLocationManager() 
    locationManager.delegate = self 
    locationManager.desiredAccuracy = kCLLocationAccuracyBest 
    //locationManager.requestWhenInUseAuthorization() 
    locationManager.requestAlwaysAuthorization() 
    locationManager.startUpdatingLocation() 
+0

hai provato a attivare la modalità in background 'Aggiornamenti posizione 'e controllare se il metodo delegate' locationManager: didUpdateLocations: 'è chiamato –

+0

@ Rich16 hai mai funzionato? E se sì, funziona ancora su iOS 10? – simonthumper

risposta

0

assicurati di aver attivato la funzionalità Location updates in Background Modes.

Location updates capability

Questo permetterà al all'applicazione di ricevere posizione cambiamenti nei precedenti e procedere con la logica. Una grande libreria per questo tipo di funzionalità è INTULocationManager.

Problemi correlati