当处于飞行模式或网络访问不可用的任何其他状态时,是否会调用NSFileManager的URLForUbiquityContainerIdentifier:
返回nil?
对此的跟进问题是:如果对URLForUbiquityContainerIdentifier:
的此调用不返回nil,而是在网络访问不可用时返回有效的URL,这是一种离线访问基于云的文档的方法吗?
apple docs表示如果未配置或未启用iCloud,则返回nil。它没有提到如果网络访问不可用会发生什么。
我会自己测试一下,但是根据我的理解,我必须在实际设备上进行测试,此时我无法在设备上进行测试。谢谢!
答案 0 :(得分:5)
UbiquityContainer是一个本地存储容器,包含您从iCloud请求的文档。当网络没有时,此容器可用。通过使用以下示例
NSURL *ubiq = [[NSFileManager defaultManager]
URLForUbiquityContainerIdentifier:nil];
if (ubiq) {
NSLog(@"iCloud access at %@", ubiq);
// TODO: Load document...
} else {
NSLog(@"No iCloud access");
}
当手机处于飞行模式时,您将能够访问文件和普遍容器。当网络连接恢复时,icloud守护程序将自动同步文件,即使在后台也是如此。
这是一篇关于iCloud设置的精彩文章。 http://www.raywenderlich.com/6015/beginning-icloud-in-ios-5-tutorial-part-1