0

在我的 viewDidLoad 中,我需要验证我保存到 iCloud Drive 的文件是否仍然可用并且没有被删除。正如我所读到的,我不能使用标准的 FileManager 调用:

FileManager.default.fileExists(atPath: filePath)

什么是替代方案。我确实使用 NSMetadataQuery,但我想知道是否有一种简单的方法可以在通知启动之前查询应用程序的 UbiquitousDocument 的内容。

此外,我正在使用 ios11 工具在不同用户之间共享文件,并且再次需要能够验证当我的应用程序进入前台时这些文件是否仍然可用。使用 NSMetadataQuery 并在 NSMetadataQueryUbiquitousDocumentsScope 中搜索共享文档不会显示。
任何建议
最好
的礼萨

4

1 回答 1

1

尝试这个:

let DOCUMENTS_DIRECTORY = "Documents"
if let iCloudDocumentsURL = NSFileManager.defaultManager().URLForUbiquityContainerIdentifier(nil)?.URLByAppendingPathComponent(DOCUMENTS_DIRECTORY)?.URLByAppendingPathComponent(fileName) {
    if let pathComponent = iCloudDocumentsURL.path {
        if (NSFileManager.defaultManager().fileExistsAtPath(pathComponent, isDirectory: nil)) {
        }
    }
}

这将检查公共文档目录下的文件。

于 2017-12-08T09:45:04.873 回答