2016-12-26 10 views
0

Я записывал образец данных ускорения за 30 секунд до NSTimer. Дело в том, что, когда приложение находится на переднем плане, все в порядке. Интервал установлен в 0.01, а в 30 seconds, 3000 сохранены. Но когда приложение переходит на задний план, я получаю только 300 только чтения.Интервал обновления NSTimer изменяется, когда приложение переходит на задний план в приложении iOS?

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?