gpt4 book ai didi

ios - 快速重新安装应用程序后 iCloud 文件不可见

转载 作者:行者123 更新时间:2023-11-28 09:43:54 24 4
gpt4 key购买 nike

我将文件存储在 iCloud 中作为一种备份方式。上传和下载文件似乎工作正常,但如果我删除设备上的应用程序并在同一台设备上重新安装该应用程序,我将不再看到上传到 iCloud 的文件(即使是在删除应用程序之前从该设备上传的文件) ).所有安装的 ubiquityIdentityToken 都相同。我不是要在设备之间同步,只是存储和检索。我可以在\settings\icloud\manage storage\中看到文件,但不能通过运行以下代码查看:

func createListOfSQLBaseFilesIniCloudDocumentsDirectory() -> [String]{

let iCloudDocumentsURL = FileManager.default.url(forUbiquityContainerIdentifier: nil)?.appendingPathComponent("Documents")

var iCloudBackupSQLFiles = [String]()

do{
let directoryContents = try FileManager.default.contentsOfDirectory(at: iCloudDocumentsURL!, includingPropertiesForKeys: nil, options: [])

for myFile in directoryContents {
if myFile.pathExtension == "sqlite" {

let fileWithExtension = myFile.lastPathComponent
//backupSQLFiles is an array of full file names - including the extension
iCloudBackupSQLFiles.append(fileWithExtension)

}//if myFile
}//for in

} catch let error as NSError {
print("Unresolved error \(error), \(error.userInfo)")
}//do catch

return iCloudBackupSQLFiles

}//createListOfSQLBaseFilesIniCloudDocumentsDirectory

任何指导将不胜感激。 swift 3、iOS 10、Xcode 8

最佳答案

很难相信没有其他人遇到过这个问题。同样,这是为了简单的文件存储和检索,而不是在设备之间动态同步。

问题的要点是 iCloud 不会自动将云文件同步到新设备。您的代码必须这样做。因此,如果您从设备(但不是从 iCloud)中删除一个应用程序并重新安装同一个应用程序,该应用程序将看不到以前的 iCloud 文件。您可以添加新的并使用上面的代码查看它们,但您实际上只是看到本地无处不在的容器副本。要查看以前的项目,您需要在 iCloud 上执行元数据查询,从元数据查询结果中解析感兴趣文件的文件名,然后运行每个文件上的 startDownloadingUbiquitousItem(at:)。例如,根据 metadataQuery 结果在 iCloud 中创建一个文件数组,并将此 do-catch 放入 for-in 循环中。

let fileManager = FileManager.default
let iCloudDocumentsURL = FileManager.default.url(forUbiquityContainerIdentifier: nil)?.appendingPathComponent("Documents", isDirectory: true)
let iCloudDocumentToCheckURL = iCloudDocumentsURL?.appendingPathComponent(whateverFileName, isDirectory: false)

do {
try fileManager.startDownloadingUbiquitousItem(at: iCloudDocumentToCheckURL!)
print("tested file: \(whateverFileName)")

} catch let error as NSError {
print("Unresolved error \(error), \(error.userInfo)")
}//do catch

关于ios - 快速重新安装应用程序后 iCloud 文件不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40065908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com