我正在尝试在 iOS 10.3 模拟器上将任意文件从应用程序的沙箱保存到 iCloud Drive。
iCloud Drive 已启用并且我已登录。如果我在模拟器上打开 iCloud Drive 应用程序,我会在其中看到文件。
所以,在我的应用程序中:
我通过以下方式获得容器:
[[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil]
这给了我这样的东西:
file:///Users/me/Library/Developer/CoreSimulator/Devices/F873A728-0314-4666-A137-830FF6280F05/data/Library/Mobile%20Documents/iCloud~com~me~iclouduploadtest/
然后我让我的沙盒文件无处不在,如下所示:
NSError *error;
if (![[NSFileManager defaultManager] setUbiquitous:YES itemAtURL:url destinationURL:ubiquityURL error:&error])
{
NSLog(@"Error occurred: %@", error);
}
没有报告错误,如果我查看磁盘,我会看到文件从 ubiquity 容器中消失url
并出现在 ubiquity 容器中(之前获得的路径)。
伟大的!所以我的文件在 iCloud 中!或不。
文件在 icloud.com 中不可见,在模拟器上的 iCloud Drive 应用程序中也不可见
在模拟器上运行的 NSMetadataQuery 在 iCloud 中找不到文件
即使
Trigger iCloud sync
在模拟器调试菜单中使用后我尝试
brctl log --wait --shorten
再次触发同步。没有错误报告。对于任何应用程序,很多starting sync down
但没有关于同步的内容。
为什么我的文件没有上传到 iCloud?
我做错了什么,还是错过了一步?
iCloud Drive 上传在 10.3 模拟器上不起作用吗?