2016-12-26 3 views
0

Ich nahm eine Probe von CMDeviceMotion Beschleunigungsdaten für 30 Sekunden durch NSTimer. Die Sache ist, wenn die App im Vordergrund ist, ist alles in Ordnung. Das Intervall ist auf 0.01 und in 30 seconds, 3000 Werte gespeichert sind gespeichert. Aber wenn App in den Hintergrund geht, bekomme ich 300 nur Lesungen.NSTimer-Aktualisierungsintervall ändert sich, wenn die App in der iOS-App in den Hintergrund wechselt?

self.deviceMotionTimer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(recordUpdates) userInfo:nil repeats:YES]; 

Funktioniert NSTimer so?

Antwort

0

NSTimer wird nie im Hintergrund arbeiten. Wenn Ihre App in den Hintergrund wechselt, friert NSTimer ebenfalls ein. Kurz gesagt, Sie können NSTimer nicht verwenden, wenn Sie eine sich wiederholende Aufgabe im Hintergrund ausführen möchten.

Wenn Sie noch etwas im Hintergrund laufen zu lassen, dann die von @ Robert in diesem Thread gegebene Antwort verwenden: Scheduled NSTimer when app is in background?

Verwandte Themen