当我设置密码/触摸ID访问控制时,我无法在后台从钥匙串访问我的密码。
我的SecItem将kSecAttrAccessible设置为kSecAttrAccessibleAlways以进行调试,我使用SecItemCopyMatching访问我的密码。
Sample configuration for kSecAttrAccessControl
SecAccessControlCreateWithFlags(
kCFAllocatorDefault,
kSecAttrAccessibleAlways,
.userPresence,
nil)
当我尝试访问后台/前景中的密钥时,一切正常。
一旦我强制使用密码/ touch-id访问密码,当我在前台时,系统会提示我输入密码。然而;如果我尝试从后台做同样的事情,那么我收到错误代码-25308和错误文本说"用户交互是必需的"。
我希望当应用程序在后台时弹出密码/触摸ID屏幕,这样我就可以从钥匙串中获取密码来执行后台任务。
可以从后台使用密码/ touch-id进行钥匙串访问吗?