我正在编写今日通知中心小部件,我想根据设备是否启用密码锁来显示不同的信息(基本上我想隐藏机密信息,如果设备被密码锁定)。我环顾四周,无法找到任何好办法。有没有人能够成功地做到这一点?
答案 0 :(得分:2)
我不会称之为最佳做法,但它应该是一种解决方法: 尝试访问钥匙串中的数据。如果它有效,该设备是免费的,如果没有它被锁定。
免责声明:随着WatchKit的变化,未来有可能会出现这种情况。它尚未记录,但有可能手表将能够访问钥匙串,但设备已被锁定。
答案 1 :(得分:1)
您可以为您的应用启用iOS数据保护,然后使用applicationProtectedDataWillBecomeUnavailable
的{{1}}和applicationProtectedDataDidBecomeAvailable
方法检测密码锁定设置的更改。
警告:这些API不适用于此用途,因此Apple始终存在使用它并拒绝您的应用程序的风险。
答案 2 :(得分:1)
仅适用于iOS 8,您可以使用kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly保护级别来确定设备是否已锁定。这个框架可以帮助你:https://github.com/liamnichols/UIDevice-PasscodeStatus