Моя цель - запускать повторяющийся таймер каждые пять секунд, если и только если приложение работает в фоновом режиме.Я попробовал пару идей, но они, похоже, не работают.
Идея 1. Не запускается ни разу.
- (void)applicationDidEnterBackground:(UIApplication *)application {
[NSTimer scheduledTimerWithTimeInterval:(5.0/5.0) target:self selector:@selector(check_expiry) userInfo:nil repeats:YES];
}
Идея 2: Запускается каждые пять секунд, но я не могу остановить цикл.
- (void)applicationDidEnterBackground:(UIApplication *)application {
counter = YES;
while (counter) {
sleep(5);
[self check_expiry];
}
// Counter is set to NO in willEnterForeground and didBecomeActive, but this loop continues to run due the sleep();
}
Как мне заставить этот цикл работать правильно?
Спасибо!