iOS开发 - Keychain共享

对于每一个应用来说,KeyChain都有两个访问区,私有区和公共区。私有区是一个sandbox,本程序存储的任何数据都对其他程序不可见。那么如何开启Keychain共享呢?下面以xcode 6.4为例说明:

xcode6.4下实现比较方便,直接在项目中开启keychain共享的选项,自动生动相应的*.entitlements文件


App1:

  1. Open your App's target Capabilities and enable KeyChain Sharing.
  2. Add a identifier.  Keychain Groups添加共享组: com.xxxxx.uniqueid

    

 输入Keychain Groups后点击回车,项目中会自动生成以项目名命名的entitlements文件:
        
里面的Keychain Access Groups就是我们刚才输入的。

 3.  KeychainItemWrapper使用

Apple官方已经封装好了一个类KeychainItemWrapper
我们要做的就是以这个类来实现一个Keychain的同组间程序的共享
这个类提供了几个接口

1) initWithIdentifier中的accessGroup可以传递nil,这时的keychain就是私有区,不能共享数据。


     2) 要实现共享,我们就必须传递刚才设置的Keychain Access Groups。

  如果这样写的话,会出现问题:


原来传递那个accessGroup参数时,前面需要添加一个十位的teamid,比如:QR44GS97KP


App2:

按照上面一样的方法即可。



参考:

1. http://www.hongtaozhy.com/2014/01/08/keychain/

2. http://stackoverflow.com/questions/4115744/how-to-share-keychain-data-between-ios-applications

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值