我正在开发使用 iCloud Key Value 存储的 OSX 10.8 应用程序。确实如此not使用文档存储。
我想确定 iCloud 键值存储是否可供用户使用。
我试图使用云:
+ (BOOL)isCloudAvailable {
id currentCloudToken = [NSFileManager defaultManager] ubiquityIdentityToken];
return (currentCloudToken) ? YES : NO;
}
然而,调用ubiquityIdentityToken
始终返回 nil,即使用户已登录 iCloud。
如果我配置了 Ubiquity Container 以及键值存储,那么该调用就可以工作。
然而,我的应用程序刚刚被苹果审核拒绝,因为它表明我需要“文档和数据存储”,而应用程序对此没有任何要求。我只是用它来确定 iCloud 是否可用。
是否有办法确定用户是否可以单独使用 iCloud 键值存储?
iCloud 基础知识指南中有一个表格将文档存储与键值存储进行比较(表1-1)。与移动文档相反,应考虑键值存储始终有效可用.
The [NSUbiquitousKeyValueStore defaultStore]
也不是nil
当 iCloud 未启用时,它甚至存储键/值对 - 它只是不将它们上传到 iCloud 服务器。
从 NSUbiquitousKeyValueStore 的角度来看,两者之间几乎没有区别offline and 登出.
您还必须记住,一旦设备连接到帐户,已存储的值就会被推送到服务器。可能有必要来处理冲突(如果默认的最后一胜策略不适合您的用例)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)