2016-12-26 4 views
0

NSTimerまでCMDeviceMotionの加速度データを30秒間記録しました。問題は、アプリがフォアグラウンドにあるときにすべてが正常であることです。間隔は0.01に設定され、30 secondsには3000の読み取り値が格納されます。しかし、アプリがバックグラウンドになると、300の読み取り値しか得られません。アプリがiOSアプリでバックグラウンドに移行すると、NSTimerの更新間隔が変わる?

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

これはNSTimerの仕組みですか?

答えて

0

NSTimerは、バックグラウンドでは決して動作しません。あなたのアプリがバックグラウンドになると、NSTimerもフリーズします。要するに、バックグラウンドでいくつかの反復的な作業をしたいときは、NSTimerを使うことはできません。

あなたがまだバックグラウンドで何かを実行したい場合は、このスレッドで@Robertによって与えられた答えを使用します。 Scheduled NSTimer when app is in background?

関連する問題