如何在 iOS 上防止应用程序屏幕锁定

如何防止只在使用导航时屏幕锁定?

Waze 可以选择这样做,我如何在我的应用程序中做到这一点?

61126 次浏览

用这个:

目标 C:

[[UIApplication sharedApplication] setIdleTimerDisabled: YES];

斯威夫特(遗产) :

UIApplication.sharedApplication().idleTimerDisabled = true

迅捷3及以上:

UIApplication.shared.isIdleTimerDisabled = true

确保导入 UIKit

这里 是 developer.apple.com 文档的链接。

您可以使用我的小库 失眠(Swift 3,iOS 9 +)-另一个很好的功能是,您可以防止睡眠只有在充电。

idleTimerDisabled解决方案是可以的,但你必须记住,设置为 false之后。

对于 Swift 3.0,这里有两个选项,取决于您想在哪里调用代码:

迅速:

application.idleTimerDisabled = true

迅速:

UIApplication.shared().isIdleTimerDisabled = true

Swift 4

Swift 文件中,在 申请函数中添加以下代码行:

application.isIdleTimerDisabled = true
        

如果你有更先进的情况下,你可以使用我们的小项目: 屏幕睡眠管理器或如果它只是特定的 视图控制器-使用 失眠,如前所述。手动处理 idleTimerDisabled几乎总是给我带来一些问题(比如忘记重新设置为 false 或处理试图设置它的多个(嵌套的)模块)。