如何检测 phone 由于应用程序中超过自动锁定时间而被锁定?

How detect the phone has been locked because of autolock time exceeded in an app?

我想知道 AppDelegate.swift 中是否有一个事件在 phone 因超过自动锁定时间而被锁定时触发

我尝试使用 applicationDidEnterBackground 方法,但它没有被触发,因为在那种情况下应用程序仍在前台

官方没有这样做的方法。

有一些 hack,但你不应该使用它们(如果你使用它们,你的应用程序可能会被应用程序商店拒绝)。

您可以在 AppDelegate 中实现 applicationWillResignActive 方法并检查 brightness 是否更改为 0.0,如下所示,

func applicationWillResignActive(_ application: UIApplication) {
    if UIScreen.main.brightness == 0.0 {
        print("App is locked!")
    }
}