我正在使用NSUbiquitousKeyValueStore
将一些偏好数据同步到iCloud。我发现如果用户在“设置应用”中禁用了iCloud中的“文档&数据”项,NSUbiquitousKeyValueStore
无法将其数据同步到iCloud。所以,我想首先检查此设置。经过谷歌搜索切换,我发现这个代码片段:如何在仅使用NSUbiquitousKeyValueStore时编程检测用户设备上是否启用了iCloud?
NSURL *ubiq = [[NSFileManager defaultManager]
URLForUbiquityContainerIdentifier:nil];
NSLog(@"url=%@",ubiq);
if (!ubiq) {
UIAlertView *av = [[UIAlertView alloc] initWithTitle:nil message:@"Please enable iCloud in Setting app" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[av show];
return;
}
我想知道的是,这是否是检测的唯一途径,即使我只是用NSUbiquitousKeyValueStore
(不是iCloud文档存储)。有更好的选择吗?
您的答案似乎与文档有冲突,文档中提到:“避免在离线时使用此类来处理应用行为所必需的数据[...]”。我已经发布了一个[问题](http://stackoverflow.com/q/23662856/251760)。你能回答吗? – Jonathan
这意味着您不应该依赖这家商店来成为您的本地真相,而应该更多地使用您的设备之间的简单同步通信渠道。 – Julien
谢谢!我把你的回答转换成了一个[答案](http://stackoverflow.com/a/26556553/251760)来回答我的问题,我希望你没问题。 (如果你想自己做出答案,我会很乐意删除我的。) – Jonathan