当处于飞行模式或网络访问不可用的任何其他状态时,调用 NSFileManager 的 URLForUbiquityContainerIdentifier:
会返回 nil 吗?
对此的后续问题是:如果对 URLForUbiquityContainerIdentifier:
的调用没有返回 nil,而是在网络访问不可用时返回有效的 URL,这是一种访问云的方式吗离线基于文档?
Apple 文档声明如果未配置或未启用 iCloud,这将返回 nil。它没有提到如果网络访问不可用会发生什么。
我会自己测试这个,但据我所知,我必须在实际设备上测试它,而目前我无法在设备上进行测试。谢谢!
最佳答案
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
关于iphone - URLForUbiquityContainerIdentifier 是否为 : return nil when network access is not available?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9050765/