keychain 可以用来持久化存储一些特定的数据,但是这样做并不能保证特别安全。虽然 iOS 系统升级后,钥匙串并不会受到影响,但是在还原系统之后,钥匙串也会跟着重置。另外如果设备损坏不能使用,存储在这个设备钥匙串上的信息也不能够读取出来了。
对于一些特定的需求,我们可能需要用 iCloud 来存储一些特定的数据,原理的话咱们不说,主要还是在实践上,咱们开始动手操作一番吧。
1.添加iCloud容器
去苹果开发者中心添加 iCloud 容器,也就是 iCloud Containers,如图
id格式为 iCloud.+bundle ID ,这个 bundle ID 不一定是你的工程里的 bundle ID,只要你在 APP ID 里把这个容器添加进去就行了(目前发现是这样没错~)
2.配置 Capabilities
在工程里把 iCloud 功能打开,将容器添加上去,可能也会自动给你配置
3.
用 NSURL *url = [manager URLForUbiquityContainerIdentifier:nil]; 来判断 iCloud 是否为开启状态,如果url为空,表示iCloud还未开启
4.使用
1.查询 iCloud 中是否存储有需要的数据
2.添加数据到 iCloud 中
3.这是核心方法,上面一切都会调用这个私有方法
5.附录
大功告成,只要按照我的步骤操作,就没有问题啦~~
作者介绍
- 韦誉翔:广州芦苇科技 APP 团队 iOS 开发工程师
内推信息
- 我们正在招募小伙伴,有兴趣的小伙伴可以把简历发到 app@talkmoney.cn,备注:来自掘金社区
- 详情可以戳这里--> 广州芦苇信息科技