Проверить, возобновляется ли приложение из неактивного состояния при первом запуске? - PullRequest
4 голосов
/ 06 мая 2011

У меня есть NSTimer, который я останавливаю, когда мое приложение уходит в отставку, активным, который я позже перезапускаю, когда приложение снова становится активным. Чего я не осознавал, так это того, что applicationWillResignActive сработает при первом запуске моего приложения (на самом деле довольно очевидно). Так что происходит, что мой NSTimer неправильно запускается (при первом запуске приложения). У меня вопрос, есть ли способ проверить, возобновляет ли приложение неактивное приложение при первом запуске?

- (void)applicationWillResignActive:(UIApplication *)application {
    // STOP CORE TIMER
    [[[self mapController] coreTimer] invalidate];
    [[self mapController] setCoreTimer:nil];
}

.

- (void)applicationDidBecomeActive:(UIApplication *)application {
    // START CORE TIMER
    [[self mapController] setCoreTimer:[NSTimer 
        scheduledTimerWithTimeInterval:ONE_SECOND 
                                target:[self mapController]   
                              selector:@selector(timerDisplay:) 
                              userInfo:nil 
                               repeats:YES]];
}

1 Ответ

4 голосов
/ 06 мая 2011

Существует applicationWillEnterForeground, который срабатывает только тогда, когда приложение возвращается из фона. Только что проверил, не будет вызываться при запуске.

Обсуждение

В iOS 4.0 и более поздних версиях этот метод называется частью перехода от фон для активного состояния. Вы можете использовать этот метод, чтобы отменить многие из изменений, которые вы внесли в ваш приложение при входе в фон. Вызов этого метода неизменно сопровождаемый звонком applicationDidBecomeActive: метод, который затем перемещает приложение из неактивное к активному состоянию.

...