通过 iOS Keychain 在不同 App 之间共享数据似乎是一个很大的功能,但是如何避免 App 之间的共享呢?我在 Apple 文档中找不到该案例的任何内容。
我知道访问组以及应用程序钥匙串的访问权限是通过带有参数keychain-access-groups的配置文件定义的。
<key>Entitlements</key>
<dict>
<key>application-identifier</key>
...
<key>keychain-access-groups</key>
<array>
<string>XXXXXXXXXX.*</string>
</array>
</dict>
在 Apple 重新设计了他们的开发者页面之后,不可能再创建不同的 App-Prefix-Ids 来定义 keychain-access-groups。我希望有人能给我一个提示,如何防止具有相同代码库的不同应用程序共享钥匙串。
附加说明:无法使用不同的密钥保存数据。
更新:我发现了一个在运行时设置 keychain-access-group kSecAttrAccessGroup的属性,我认为这应该有助于解决问题。