iOS Keychain
https://blog.csdn.net/u013712343/article/details/120439495
https://blog.csdn.net/u013712343/article/details/120440069
iOS开发_使用keyChain(钥匙串)保存数据 https://blog.51cto.com/u_15318120/5264575
假设我们的APP 有普通版:appNormal,收费版:appPro,可能会使用不用的bundleID:com.wjw.appNormal、com.wjw.appPro作为区分生成设备id,两套代码里 “kKeyChainService”,“kKeyChainAccount”里如果都一样,若已经安装了appNormal,后安装的appPro里就能取到之前生成的设备id。如果先安装的app删除,再安装新app,新app就会生成新的设备id.
KeyChain共享数据 KeyChain理解为一个Dictionary,add、update、get、delete这四个操作,KeyChain都有两个访问区,私有区和公共区。默认APP1只能访问app1的内容,对其他程序不可见。如果想共享内容,需要先声明公共区的名称,同时打开keychain-sharing配置。。官方文档管这个名称叫“keychain access group”,声明的方法是新建一个plist文件,名字随便起,内容如下:
keychain-access-groups Array 1item
item 0 String myAppId.com.mycompany.any
除了any字段,其他的如实填写。这个文件的路径要配置在 Project->build setting->Code Signing Entitlements里,否则公共区无效,配置好后,须用你正式的证书签名编译才可通过,否则xcode会弹框告诉你code signing有问题。所以,苹果限制了你只能同公司的产品共享KeyChain数据,别的公司访问不了你公司产品的KeyChain。
这部分更详细的往上很多。。可以参考https://www.cnblogs.com/junhuawang/p/8194484.html
https://www.jianshu.com/p/8158e9e13a3b
SSKeyChain、