NSMetadataQuery返回显然不存在的文件

时间:2015-06-02 21:49:19

标签: ios icloud

我最近开始将iCloud功能集成到应用程序中。我有2个测试电子表格,通过我的应用程序上传到iCloud时可以正常工作(用于测试目的)。现在,当我将更多电子表格放入现在出现在Mac的Finder窗口中的相应iCloud应用程序文件夹中时,应用程序会将文件视为隐藏,并且无法读取这些文件。

有谁能告诉我为什么这些文件被保存为隐藏文件?我怎么能防止这种情况发生。我的应用程序需要能够从我的任何Apple设备(或使用iCloud for Windows软件的Windows)读取放置在iCloud应用程序文件夹中的CSV文件。

1 个答案:

答案 0 :(得分:0)

在没有Apple文档的帮助后,我设法找到一些解释这些隐藏文件的论坛意味着它还没有下载。我想首先下载文件的元数据以显示它们存在,但只有在请求时才会实际下载文件。

在我的代码中,如果文件被隐藏,我只需拨打电话即可开始下载:

bool downloading = [[NSFileManager defaultManager] startDownloadingUbiquitousItemAtURL:[result valueForAttribute:NSMetadataItemURLKey] error:&error];

这将开始下载NSMetadataQuery返回的文件,如果启动成功,将返回一个布尔值。此时我只是弹出警报让用户知道它的下载并在几秒钟内再次尝试(小文件所以一般只需要几个)。在将来,我可能会尝试实施下载进度或等待屏幕,但现在它可以完成这项工作。