是否可以检测iOS设备上的密码何时被修改



例如:我有一个应用程序,它使用FaceID登录,密码为"1111"。当我将密码更改为"2222"并重新启动应用程序时,它会检测到我的密码被修改并自动从应用程序注销。

那么有可能做到这一点吗?

我认为您可以通过evaluatedPolicyDomainState 获得这些信息

它可用于与此属性返回的其他值进行比较,以确定授权数据库是否已更新

代码示例:

Swift

let localAuthContext = LAContext()
if localAuthContext.canEvaluatePolicy(LAPolicyDeviceOwnerAuthenticationWithBiometrics, error: error) {
if oldBiometryData != nil && localAuthContext.evaluatedPolicyDomainState != oldBiometryData {
changed = true
}
}

Objective-C

LAContext *localAuthenticationContext = [LAContext new];
if ([localAuthenticationContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
if (oldBiometryData != nil && ![localAuthenticationContext.evaluatedPolicyDomainState isEqualToData:oldBiometryData]) {
changed = YES;
}
}

使用oldBiometryData存储在应用程序中的先前生物测量数据。

最新更新