2016-02-04 2 views
0

Хорошо Я в здании приложения, где у вас есть 6 жизней, когда вы умрете, вы должны подождать 2 минуты, чтобы получить новую жизнь, Вот что я никогда до сих пор:Swift. Сделать NSTimer продолжать работать после того, как приложение закрыто

var timeLeft = 120 
var countDownTime = NSTimer() 

func died() { 
    countDownTime = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: ("updateTimer"), userInfo: nil, repeats: true) 
} 

func updateTimer() { 
    timeLeft-- 
    if timeLeft == 0 { 
     stopTimer() 
    } 
} 

func stopTimer() { 
    countDownTime.invalidate() 
    timeLeft = 120 
} 

Мой вопрос в том, как я могу использовать этот таймер, поэтому, когда я закрываю и открываю приложение, таймер продолжает работать?

извините, если это дублирующий вопрос, я просто не смог получить ответ на свой вопрос.

+0

, открыв приложение, вы имеете в виду открытое приложение из состояния завершения или состояния фона, а также объясните закрытие приложения? – Breek

+0

это может помочь: http://stackoverflow.com/questions/34862160/make-timer-run-on-background-ios-for-more-than-3-minutes –

+0

Постоянное хранилище? Когда игрок умирает, храните дату и время. Всякий раз, когда игрок пытается перезапустить игру, вы должны убедиться, что прошло две минуты с момента сохранения. – AgRizzo

ответ

1

Вы можете сохранить запуска таймера метки в NSUserDefaults:

Если пользователь покидает приложение. При вводе в вашем AppDelegate или InitialViewController вы можете проверить, больше ли прошло время , чем за 2 минуты, и продолжить или показать экран ожидания пользователю.

0

Я думаю, вы хотите, чтобы NSTimer работал правильно, когда ваше приложение запускало фоновое изображение. Правильно ли это?

Когда приложение запускается в фоновом режиме, NSTimer работает только около 3 минут (с IOS7) или 10 минут (до IOS7). Поэтому, если вы хотите, чтобы NSTimer работал правильно, когда приложение запускало фоновое изображение, вам необходимо предоставить фоновый фоновый процесс (пример: воспроизведение аудио).

Как запустить фоновый звук, вы можете обратиться по этой ссылке: http://www.raywenderlich.com/92428/background-modes-ios-swift-tutorial

С уважением.

Смежные вопросы