在应用间利用KeyChain共享数据
2012-09-11 16:16
225 查看
本文转自:http://hi.baidu.com/lishuai/item/8f5ed6297de1bed20e37f9d4
Mac OS可以利用KeyChain保存各应用中用户的账号密码,让用户不用重复输入。其实在iOS中也有KeyChain,也可以用KeyChain在应用间共享数据,只是有一些限制,无法像Mac OS一样开放,也无法让用户手动控制。那么KeyChain到底如何使用呢?
我们可以把KeyChain理解为一个Dictionary,所有数据都以key-value的形式存储,可以对这个Dictionary进行add、update、get、delete这四个操作。对于每一个应用来说,KeyChain都有两个访问区,私有区和公共区。私有区是一个sandbox,本程序存储的任何数据都对其他程序不可见。而要想在将存储的内容放在公共区,需要先声明公共区的名称,官方文档管这个名称叫“keychain access group”,声明的方法是新建一个plist文件,名字随便起,内容如下:
“yourAppID.com.yourCompany.whatever”就是你要起的公共区名称,除了whatever字段可以随便定之外,其他的都必须如实填写。这个文件的路径要配置在 Project->build setting->Code Signing Entitlements里,否则公共区无效,配置好后,须用你正式的证书签名编译才可通过,否则xcode会弹框告诉你code signing有问题。所以,苹果限制了你只能同公司的产品共享KeyChain数据,别的公司访问不了你公司产品的KeyChain。
OK,至此最难的部分就讲完了。访问KeyChain的代码官方文档写得很详细(看这里),还有示例代码,这里我就不多讲了。
最后,有一个小地方容易被忽略。配置好Code Signing Entitlements之后,就不能用team证书编译了,但这会给平时的版本迭代开发带来很大问题。其实仔细看Code Signing Entitlements,可以发现可以对Debug和Release分别配置。Debug模式不配置路径,就解决问题了。
Mac OS可以利用KeyChain保存各应用中用户的账号密码,让用户不用重复输入。其实在iOS中也有KeyChain,也可以用KeyChain在应用间共享数据,只是有一些限制,无法像Mac OS一样开放,也无法让用户手动控制。那么KeyChain到底如何使用呢?
我们可以把KeyChain理解为一个Dictionary,所有数据都以key-value的形式存储,可以对这个Dictionary进行add、update、get、delete这四个操作。对于每一个应用来说,KeyChain都有两个访问区,私有区和公共区。私有区是一个sandbox,本程序存储的任何数据都对其他程序不可见。而要想在将存储的内容放在公共区,需要先声明公共区的名称,官方文档管这个名称叫“keychain access group”,声明的方法是新建一个plist文件,名字随便起,内容如下:
“yourAppID.com.yourCompany.whatever”就是你要起的公共区名称,除了whatever字段可以随便定之外,其他的都必须如实填写。这个文件的路径要配置在 Project->build setting->Code Signing Entitlements里,否则公共区无效,配置好后,须用你正式的证书签名编译才可通过,否则xcode会弹框告诉你code signing有问题。所以,苹果限制了你只能同公司的产品共享KeyChain数据,别的公司访问不了你公司产品的KeyChain。
OK,至此最难的部分就讲完了。访问KeyChain的代码官方文档写得很详细(看这里),还有示例代码,这里我就不多讲了。
最后,有一个小地方容易被忽略。配置好Code Signing Entitlements之后,就不能用team证书编译了,但这会给平时的版本迭代开发带来很大问题。其实仔细看Code Signing Entitlements,可以发现可以对Debug和Release分别配置。Debug模式不配置路径,就解决问题了。
相关文章推荐
- 在应用间利用KeyChain共享数据
- 在应用间利用KeyChain共享数据
- 在应用间利用KeyChain共享数据
- 在应用间利用KeyChain共享数据
- keychain 多应用共享数据
- android 利用SharedPreferences 在不同应用之间共享数据
- iOS Keychain钥匙串,应用间数据共享打造iOS上的全家桶
- 不同应用共享数据——keychain的使用
- IFC标准是为了满足建筑行业的信息交互与共享而产生的统一数据标准,是建 筑行业事实上的数据交换与共享标准。本文概要介绍了IFC标准的产生及发展 历程,IFC的整体框架结构,简要说明了IFC标准的实现方法和过程,描述了 当前的应用以及我们应该更加积极地利用IFC标准为建筑软件行业服务。
- iOS Keychain钥匙串,应用间数据共享打造iOS上的全家桶
- iOS 中使用 Keychain Services 在应用间共享数据
- 第四章:iOS应用漏洞利用 ——4.4 Keychain数据存储和安全
- 利用KeyChain共享数据(唯一标示)
- 利用统计学知识为android应用的启动时间做数据分析
- 如何利用content接口在Ubuntu Core应用之间互相分享数据
- 利用共享内存来恢复玩家数据
- Web应用共享数据区ServletContext接口
- Android 利用getApplication() 共享全局数据
- 利用共享内存来恢复玩家数据
- 利用内存映射文件在进程间共享数据