1. Keychain 如何做到两个 App 间共享数据

对于每一个应用来说,KeyChain 都有两个访问区,私有区和公共区。私有区类似于沙盒,只有本程序存储的数据可以访问。如果要想做到两个 App 间共享数据则需要数据放在公共区。想要数据放到公有区则首先要配置公有区的名称,即 ”Keychain Groups”。

2. 如何使用

两个 App 间共享数据的前提是有相同的 Team ID,所以不同账号的开发者想共享 Keychain 数据是无法实现的。在保证同一个 Team ID 的前提下首先开启 Keychain share, 选中项目的 Target -> Capabilities 添加 ‘keychain Sharing’ 选项,并添加 ‘Keychain Groups’。然后在另一个项目中按同样的操作添加相同的 ‘Keychain Groups’。最好创建 Keychain Item 的时候,使用相同的 Account & Service。这样就可以在两个 App 间访问同一份数据了。

 

每日一问的答案中可能无法全完解读这个问题,如果您是相关技术专家或者是对本问题有自己的见解,欢迎带着「批判性」的态度阅读,指正其中的不足。