我正在尋找更好的方法將一堆文件從我的iCloud容器下載到我的沙盒中。這是我目前使用:將iCloud文件複製到沙盒
for (FileAttachments *fileLink in items) {
NSURL *cloudFileURL = [fileLink urlForCloudAttachmentWithName];
NSURL *fileURL = [backupCloudLocalDirectoryURL URLByAppendingPathComponent: fileLink.fileName];
NSFileCoordinator *fileCoordinator = [[NSFileCoordinator alloc] initWithFilePresenter:nil];
[fileCoordinator coordinateReadingItemAtURL:fileURL options:NSFileCoordinatorReadingWithoutChanges error:&error
byAccessor:^(NSURL *newURL) {
NSError *blockError = nil;
[fileManager copyItemAtURL:cloudFileURL toURL:fileURL error:&blockError];
}];
}
}
是否與製作的iCloud項目的副本這樣什麼問題?在製作中,我有一些用戶抱怨說他們的所有文件都沒有下載。代替使用NSFileManager's startDownloadingUbiquitousItemAtURL:error
更好嗎?如果是這樣,爲什麼? 謝謝。
在運行上面的代碼之前,您是否做過任何事情以確保文件已被下載? –
或者更好的方法是,你如何找到雲文件的URL,以便知道你想從哪個URL複製? –
將這些URL從文件添加到應用程序時保存在Core Data中。他們持有對該文件的有效參考;只是它們在某些情況下沒有被下載,並且不可重現。它不應該從fileCoordinator coordinateReadingItemAtURL塊中工作嗎? –