Как отключить / включить спящий режим программно в 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внутриapplicationfunc так результат будет выглядеть так:func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { UIApplication.shared.isIdleTimerDisabled = true return true }
Comments