是否可以检测到 iOS 设备上的密码何时被修改?
Posted
技术标签:
【中文标题】是否可以检测到 iOS 设备上的密码何时被修改?【英文标题】:Is it possible to detect when the passcode on an iOS device is modified? 【发布时间】:2020-02-27 07:28:06 【问题描述】:例如:我有一个使用 FaceID 登录的应用程序,密码是“1111”。 当我将密码更改为“2222”并重新启动应用程序时,它会检测到我的密码被修改并自动退出应用程序。
那么有可能做到吗?
【问题讨论】:
【参考方案1】:我想你可以通过evaluatedPolicyDomainState获得这些信息
可用于与该属性返回的其他值进行比较,判断授权数据库是否已更新
代码示例:
斯威夫特
let localAuthContext = LAContext()
if localAuthContext.canEvaluatePolicy(LAPolicyDeviceOwnerAuthenticationWithBiometrics, error: error)
if oldBiometryData != nil && localAuthContext.evaluatedPolicyDomainState != oldBiometryData
changed = true
目标-C
LAContext *localAuthenticationContext = [LAContext new];
if ([localAuthenticationContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error])
if (oldBiometryData != nil && ![localAuthenticationContext.evaluatedPolicyDomainState isEqualToData:oldBiometryData])
changed = YES;
使用 oldBiometryData
之前存储在应用中的生物特征数据。
【讨论】:
以上是关于是否可以检测到 iOS 设备上的密码何时被修改?的主要内容,如果未能解决你的问题,请参考以下文章
Windows Mobile 设备是不是可以检测到它何时停靠?