Ho bisogno di aggiornamenti dell'acceleratore quando l'app è in esecuzione in background/il dispositivo è in modalità di sospensione. Alcune app lo fanno, non riuscivo a farlo funzionare. Per questo ho una proprietà CoreMotion nel mio AppDelegate e applicationDidEnterBackground io chiamoAggiornamenti dell'acceleratore Coremotion iOS in background/modalità sleep
-(void) startAccelerationUpdates
{
self.motionManager.deviceMotionUpdateInterval = 0.01;
[self.motionManager startDeviceMotionUpdatesToQueue:[NSOperationQueue mainQueue]
withHandler:^(CMDeviceMotion *motion, NSError *error){
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"acceleration x %f", motion.userAcceleration.x);
NSLog(@"acceleration y %f", motion.userAcceleration.y);
NSLog(@"acceleration z %f", motion.userAcceleration.z);
}
);
}
];
}
Nel plist app ho messo le modalità di sfondo tenuti a App si registra per gli aggiornamenti di posizione. Quando metto il dispositivo in modalità di sospensione o in background non vengono visualizzati aggiornamenti nei registri. Quando l'app diventa attiva, il coremotion avvia l'accesso. Qualcuno ha un suggerimento per me? Grazie.
Grazie, ma con la spedizione coda globale non funziona neanche. – simon
Inoltre, nel plist dell'app, hai usato 'Richiesto modalità di sfondo '-> e a' item 0' scegli 'Registri app per gli aggiornamenti di posizione'? – Raptor
Sì, l'ho fatto. Gli aggiornamenti delle posizioni funzionano in modalità background/sleep. – simon