关于Touch ID的构思
- 突出写作这一方面,而非浏览。应用打开直接应该是编辑页面。这是我们的HomeVC。所以在启动应用时不需要验证Touch ID。
- 左滑或者右滑来查看近期日记时,需启动Touch ID验证。
- 另:从编辑页面进入列表时,需启动Touch ID验证。
- 双击Home键之后,想做模糊效果(??)。
- 设置合适的时间,如果应用在ResignActive之后停留时间超过特定时间,则认为用户此次编辑完毕。再进入应用时,进入HomeVC,不验证Touch ID。
- 如果应用在ResignActive之后的时间不久,则认为用户仍继续编辑此篇日记。这时在应用BecomeActive时验证Touch ID。
- 那么问题来了,就要既在不同的VC切换时根据将要进入的页面判断是否验证Touch ID,又要在App不同的状态切换时,根据用户是否继续编辑判断是否验证Touch ID。
简单实现Touch ID验证
应用实现Touch ID,需要添加LocalAuthentication.framework,并且在需要使用的文件中添加相应的头文件。
- 创建对象
LAContext *context = [[LAContext alloc] init];
- 判断设备是否支持Touch ID
[context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]
- 支持Touch ID,开始验证
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
localizedReason:result
reply:^(BOOL success, NSError * _Nullable error) {}];
- 验证失败时,可根据返回值的不同来区分验证失败的原因
好多啊,.h文件都有说明,不写了。 - 不支持Touch ID,也有不同的返回值可区分状态
验证Touch ID的具体实现方式
- 可以实现一个View或者VC,需要验证时弹出,验证后关闭
- 可以直接在需要验证的页面,直接弹出验证
- 在应用状态切换时和在页面之间切换时
- 好吧其实具体的也没有讨论好
大神不在身边指导,心好方~