Search code examples
iphoneiosicloud

Cocoa error 262, Can't upload file to iCloud


I am trying to use following lines of code to upload a large file to 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);
            }
        }];
    });
}

I get this error

The operation couldn’t be completed. (Cocoa error 262.)

What could be the problem here?


Solution

  • I just replaced this line of code:

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

    with the following one:

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

    and the problem solved. :))