我会让用户使用 iCloud 驱动器保存他的数据备份。效果很好。但如果我切换到另一个启用了 iCloud Drive 的设备,我就无法读取该文件。
我可以在 iCloud Drive 应用程序中看到备份文件,但它没有下载,(它显示“从 icloud 下载符号”)。
如果用户想要恢复备份,是否可以强制下载目录中可用的所有文件?
在 iOS 8/9 上使用 Swift 2。
我会让用户使用 iCloud 驱动器保存他的数据备份。效果很好。但如果我切换到另一个启用了 iCloud Drive 的设备,我就无法读取该文件。
我可以在 iCloud Drive 应用程序中看到备份文件,但它没有下载,(它显示“从 icloud 下载符号”)。
如果用户想要恢复备份,是否可以强制下载目录中可用的所有文件?
在 iOS 8/9 上使用 Swift 2。
我自己解决了这个问题。我会检查我的备份文件是否可用以及是否需要下载。如果是这样,我将开始下载并通知用户几秒钟后再回来查看。不是最好的解决方案,但现在它可以工作。
func checkAndDownloadBackupFile() -> Bool{
if(iCloudDocumentsURL != nil){
let file = iCloudDocumentsURL!.URLByAppendingPathComponent("backup.file")
let filemanager = NSFileManager.defaultManager();
if !filemanager.fileExistsAtPath(file.path!){
if filemanager.isUbiquitousItemAtURL(file) {
let alertView:UIAlertView = UIAlertView()
alertView.title = "Warning"
alertView.message = "iCloud is currently busy syncing the backup files. Please try again in a few minutes."
alertView.addButtonWithTitle("OK")
alertView.show()
do {
try filemanager.startDownloadingUbiquitousItemAtURL(file)
} catch{
print("Error while loading Backup File \(error)")
}
}
return false
} else{
return true
}
}
return true
}