Как отключить / включить спящий режим программно в iOS?



У меня есть приложение, которое должно бодрствовать до конца отсчета, но он перейдет в "спящий режим" при достижении отведенного времени для сна.



в моем приложении, у меня есть возможность отложить сон, так что пользователи могут отключить/включить его.



Как это сделать программно?

415   3  
ios

3 ответов:

вы можете отключить таймер простоя следующим образом:

В Объективе-C:

[UIApplication sharedApplication].idleTimerDisabled = YES;

В Swift:

UIApplication.sharedApplication().idleTimerDisabled = true

В Swift 3.0 И Swift 4.0:

UIApplication.shared.isIdleTimerDisabled = true

это NO или false для повторного включения режима сна.

например, если вам это нужно, пока вы не покинете представление, вы можете установить его обратно, переопределив viewWillDisappear:

override func viewWillDisappear(_ animated: Bool) {
    UIApplication.shared.isIdleTimerDisabled = false
}

подробнее о Класс UIApplication.

в Swift 3, чтобы отключить таймер простоя это так:

UIApplication.shared.isIdleTimerDisabled = true

чтобы включить таймер простоя обратно на него просто:

UIApplication.shared.isIdleTimerDisabled = false

кроме того, обратите внимание, что YES и NO недоступны в Swift и что вы должны использовать либо true или false (в отличие от предыдущего ответа).

в Swift 3 точное место, где это можно сделать AppDelegate.swift - вы должны добавить UIApplication.shared.isIdleTimerDisabled = true внутри application func так результат будет выглядеть так:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    UIApplication.shared.isIdleTimerDisabled = true
    return true
}

Comments

    Ничего не найдено.