首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 云计算 >

iCloud(2)保存key value数据到iCloud

2013-01-28 
iCloud(二)保存key value数据到iCloud准备:1. Add iCloud in iTunes connect. And create a new provision

iCloud(二)保存key value数据到iCloud

准备:

1. Add iCloud in iTunes connect. And create a new provision file and entitlements.
    具体请参考refs 1.
2. Only devices support iCloud.
    Simulator不支持iCloud.
3. Add your account in your device. If you do not do this, you can use iCloud functionalities.
    在Setting->iCloud中输入iTuns Connect的帐号,否则在程序中将接收不到iCloud的消息。

什么时候该用Key-Value来存储?

适合于数据量不超过1M的数据。比如preferences, settings, simple app state.

背景:

什么是Ubiquity Container?

To save data to iCloud, your app places the data in special file system locations known as ubiquity containers. Aubiquity container serves as the local representation of corresponding iCloud storage. It is outside of your app’s sandbox container, as shown in Figure 1-1.

程序中并不是直接将数据存到远程的iCloud服务器,而是存到Ubiquity Container中,Ubiquity Container并不包含在App的地址空间中。Ubiquity Container会在适当的时候自动与远程的iCloud服务器同步。你的程序应该要实现监听Ubiquity Container的代码,一旦Ubiquity Container更新数据,你就作出相应的动作。所有与Ubiquity Container的操作,包括上传数据到Ubiquity Container,从Ubiquity Container下载数据,处理conflict等等的动作,你都需要手动去处理。

Check iCloud is avaiable:

“Storing Preferences in iCloud” in Preferences and Settings Programming Guide, and refer to NSUbiquitousKeyValueStore Class Reference.

怎么样测试:

首先,去Setting->iCloud,输入你的iTune帐号,然后进入Storage&Backup->开启iCloud Backup,在Manage Storage中保证你要测试的app是在开启状态。
1. 如果你的App已经发布,那么到Setting->General->Reset->Reset All Settings. (这会清除所有设置,自动重新启动后,选择“restore from iCloud”).
2. 如果你的App尚未发布,则在两台设备上装上同一版本的App。试着在一台device上改变iCloud的数据,看另一台device是否会自动更新。

Refs:
1. About Your Third iOS App
2. iCloud design guide

以上。


热点排行