4

我正在尝试使用以下代码行将大文件上传到 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.)

这里可能是什么问题?

4

2 回答 2

16

好吧,网络似乎认为这通常是由您使用字符串路径初始化 url 引起的。我建议改变这个:

NSURL * filePath = [NSURL URLWithString:Path];

对此:

NSURL * filePath = [NSURL fileURLWithPath:Path];
于 2013-08-21T11:07:04.973 回答
3

我刚刚替换了这行代码:

BOOL success = [fileManager copyItemAtURL:filePath toURL:destURL error:&error];

与以下一个:

BOOL success = [fileManager setUbiquitous:YES itemAtURL:filePath destinationURL:destURL error:&error];

问题解决了。:))

于 2013-08-21T11:12:45.020 回答