如何防止只在使用导航时屏幕锁定?
Waze 可以选择这样做,我如何在我的应用程序中做到这一点?
用这个:
目标 C:
[[UIApplication sharedApplication] setIdleTimerDisabled: YES];
斯威夫特(遗产) :
UIApplication.sharedApplication().idleTimerDisabled = true
迅捷3及以上:
UIApplication.shared.isIdleTimerDisabled = true
确保导入 UIKit。
UIKit
这里 是 developer.apple.com 文档的链接。
您可以使用我的小库 失眠(Swift 3,iOS 9 +)-另一个很好的功能是,您可以防止睡眠只有在充电。
idleTimerDisabled解决方案是可以的,但你必须记住,设置为 false之后。
idleTimerDisabled
false
对于 Swift 3.0,这里有两个选项,取决于您想在哪里调用代码:
迅速:
application.idleTimerDisabled = true
UIApplication.shared().isIdleTimerDisabled = true
Swift 4
Swift 文件中,在 申请函数中添加以下代码行:
application.isIdleTimerDisabled = true
如果你有更先进的情况下,你可以使用我们的小项目: 屏幕睡眠管理器或如果它只是特定的 视图控制器-使用 失眠,如前所述。手动处理 idleTimerDisabled几乎总是给我带来一些问题(比如忘记重新设置为 false 或处理试图设置它的多个(嵌套的)模块)。