保存在iCloud Drive上的文档似乎无法在iOS上下载

时间:2015-11-01 12:54:47

标签: ios swift icloud icloud-drive

我让用户使用iCloud驱动器保存他的数据备份。这很好用。但是如果我切换到另一台支持iCloud Drive的设备,我就无法读取该文件。

我可以在iCloud Drive App中看到备份文件,但是没有下载,(它显示"从icloud符号下载)。

如果用户想要恢复备份,是否可以强制下载目录中的所有可用文件?

在iOS 8/9上使用Swift 2.

1 个答案:

答案 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
}