2

ユーザーが iCloud ドライブを使用してデータのバックアップを保存できるようにします。それはうまくいきます。しかし、別の iCloud Drive 対応デバイスに切り替えると、ファイルを読み取ることができません。

iCloud Drive アプリ内でバックアップ ファイルを確認できますが、ダウンロードされていません (「icloud からダウンロード」の記号が表示されます)。

ユーザーがバックアップを復元したい場合、ディレクトリ内で使用可能なすべてのファイルを強制的にダウンロードすることはできますか?

iOS 8/9 で Swift 2 を使用しています。

4

1 に答える 1

3

私はこれを自分で解決しました。バックアップ ファイルが利用可能かどうか、ダウンロードする必要があるかどうかを確認します。その場合は、ダウンロードを開始し、数秒後にもう一度確認するようユーザーに通知します。最善の解決策ではありませんが、今のところ機能します。

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
}
于 2015-11-03T07:34:50.843 に答える