我正在尝试使用以下代码行将大文件上传到iCloud:
-(void)uploadFileWithFilePath:(NSString *)Path toFileURLInCloud:(NSURL *)destURL{
NSURL * filePath = [NSURL URLWithString:Path];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void)
{
NSFileCoordinator* fileCoordinator = [[NSFileCoordinator alloc] initWithFilePresenter:nil];
[fileCoordinator coordinateReadingItemAtURL:filePath
options:NSFileCoordinatorReadingWithoutChanges
error:nil
byAccessor:^(NSURL *newURL)
{
NSFileManager * fileManager = [[NSFileManager alloc] init];
NSError * error;
BOOL success = [fileManager copyItemAtURL:filePath toURL:destURL error:&error];
if (success) {
NSLog(@"Copied %@ to %@", filePath, destURL);
}
else {
NSLog(@"Failed to copy %@ to %@: %@", filePath, destURL, error.localizedDescription);
}
}];
});
}
我收到此错误
The operation couldn’t be completed. (Cocoa error 262.)
这可能是什么问题?
答案 0 :(得分:16)
好吧,网络似乎认为这通常是由于您使用字符串路径初始化网址引起的。我建议改变这个:
NSURL * filePath = [NSURL URLWithString:Path];
对此:
NSURL * filePath = [NSURL fileURLWithPath:Path];
答案 1 :(得分:3)
我刚刚更换了这行代码:
BOOL success = [fileManager copyItemAtURL:filePath toURL:destURL error:&error];
使用以下内容:
BOOL success = [fileManager setUbiquitous:YES itemAtURL:filePath destinationURL:destURL error:&error];
问题解决了。 :))