У меня есть NSTimer, который проверяет последние данные с сервера каждые 15 секунд. Когда приложение переходит в фоновый режим, я останавливаю таймер в следующем методе делегата приложения.

- (void)applicationWillResignActive:(UIApplication *)application

Когда приложение снова становится активным, я активирую таймеры, и оно снова становится активным.

- (void)applicationWillEnterForeground:(UIApplication *)application

Эта функция отлично работает. Но когда я выхожу из айфона, он через некоторое время блокируется. Когда я разблокирую его, функциональность не работает должным образом. Таймер не работает.

Что я делаю не так?

Я не хочу, чтобы таймеры работали в фоновом режиме. Вот почему перед переходом в фоновый режим я отключаю таймер, а когда перехожу на передний план, я хочу перезапустить таймер.

1
Satyam 29 Авг 2011 в 06:58

2 ответа

Лучший ответ

Я думаю, вам может понадобиться дополнительный метод делегата, отличный от applicationWillEnterForeground. Я думаю, что когда пользователь разблокирует свой телефон, ваше приложение уже будет на переднем плане и не войдет в него. Но я не уверен, каким будет метод делегата, возможно, applicationDidBecomeActive

1
Mike Crawford 29 Авг 2011 в 03:08