我让用户使用iCloud驱动器保存他的数据备份。这很好用。但是如果我切换到另一台支持iCloud Drive的设备,我就无法读取该文件。
我可以在iCloud Drive App中看到备份文件,但是没有下载,(它显示"从icloud符号下载)。
如果用户想要恢复备份,是否可以强制下载目录中的所有可用文件?
在iOS 8/9上使用Swift 2.
答案 0 :(得分: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
}