【发布时间】:2018-12-10 08:23:34
【问题描述】:
我有两个应用程序使用相同的架构来存储受生物特征认证保护的 kSecClassGenericPassword 项。
在应用程序初始化后,我无法从一个应用程序中检索钥匙串项的内容 (errSecInteractionNotAllowed = -25308),而其他应用程序一切正常。
即使没有设置钥匙串访问组,钥匙串项也会在两个应用程序之间共享。
我在这个文件夹中放了一个示例应用和一个视频:https://www.dropbox.com/sh/lk5p1war4c4tids/AACbE-E-z7Pqjx9XHD92RJ6Sa?dl=0
复制步骤(以附件形式查看视频):
使用提供的 Keychain-Access 项目
设置包标识符:App1 -> ch.sysmosoft.debug.Keychain-Access.1
启动 App1
关闭 App1
启动 App1
认证
显示受保护的元素
更改包标识符:App2 -> ch.sysmosoft.debug.Keychain-Access.2
启动 App2
关闭 App2
启动 App2
显示受保护的元素
启动 App1
受保护的元素不可访问 (errSecInteractionNotAllowed)
版本/构建:
Xcode -> 版本 10.1 (10B61)
iOS -> 12.1 (16B92)
iPhone 6s(型号 MKQN2ZD/A)
iPad mini(型号 ME276GP/A)
其他信息:
即使 TeamId 不同,也会出现此错误。
我使用此页面中的钥匙串项目唯一标识符What makes a keychain item unique (in iOS)?
感谢您的帮助
【问题讨论】: