我确实理解框架KeychainAccess中的Access with Touch ID kSecAccessControlTouchIDAny
是如何工作的,但我无法弄清楚如何在iOS 11中使用Face ID执行此操作。我找不到任何内容解决它的文档(也许文档尚未出来?)。
所以我正在寻找stackoverflow并询问:如何将使用Face ID保护的值写入钥匙串以及如何将它们复制回去?
一个最小的例子就是很好。
答案 0 :(得分:5)
现在似乎可以在Xcode 9.1中使用(自测试版以来)。
可测试,例如:
https://developer.apple.com/library/content/samplecode/KeychainTouchID/Introduction/Intro.html
尽管此示例尚未针对Face ID进行更新,但它似乎适用于存储受Face ID保护的钥匙串项目。
如上所述,这在Xcode 9.0 GM中不起作用。
答案 1 :(得分:3)
Apple似乎已将Local ID支持添加到Local Authentication API,但尚未添加Keychain ACL。
我计划做的是使用本地身份验证来触发Face ID提示,如果成功,则直接访问keychain。不像我们为Touch ID提供的KeyChain ACL API那么安全,但它是迄今为止我提出的最佳解决方案。
https://developer.apple.com/documentation/localauthentication/localauthentication_constants?changes=latest_minor https://developer.apple.com/documentation/localauthentication/labiometrytype?changes=latest_minor