Objective c 将文件移动/复制到iCloud

Objective c 将文件移动/复制到iCloud,objective-c,icloud,Objective C,Icloud,我是使用Objective-C的初学者。我使用以下代码将文件移动到iCloud,但它给出了一个错误,操作无法完成。该文件已存在。 //store the file locally in document folder NSArray *docPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *filePath = [docPaths objectA

我是使用Objective-C的初学者。我使用以下代码将文件移动到iCloud,但它给出了一个错误,
操作无法完成。该文件已存在。

//store the file locally in document folder 
NSArray *docPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *filePath  = [docPaths objectAtIndex:0];
filePath = [filePath stringByAppendingString:@"/"];
filePath = [filePath stringByAppendingString:fileName];

NSString *writeError = nil;
NSData * fileData = [NSPropertyListSerialization dataFromPropertyList:dataDic format:NSPropertyListXMLFormat_v1_0 errorDescription:&writeError];

if ([fileData writeToFile:filePath atomically:YES]) {
    NSLog(@"Server file is stored locally");
}else {
    NSLog(@"%@", writeError);
}


 // store the file in iCloud folder

NSURL *ubiquitousURL = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
NSString *tmpubiquitousURL = ubiquitousURL.absoluteString;
tmpubiquitousURL = [tmpubiquitousURL stringByAppendingString:fileName];
NSURL *ubi2 = [[NSURL alloc] initWithString:tmpubiquitousURL];

[[NSFileManager defaultManager] setUbiquitous:YES itemAtURL:filePathURL destinationURL:ubi2 error:&error];
我使用以下命令从iCloud中删除该文件,但它给出了一个错误,
无法在未同步的文件上禁用同步。

[[NSFileManager defaultManager] setUbiquitous:NO itemAtURL:filePathURL destinationURL:ubi2 error:&error];
我在我的app delegate中检查了iCloud的可用性,并且它是可用的。该文件是一个XML文件(.plist),我有一个本地副本存储在
NSDocumentDirectory

总的来说,我希望在iCloud中同步该文件,以便使用我的应用程序的所有设备都可以访问该文件。我已经为此挣扎了两天,如果你能帮我解决这个问题,我将不胜感激


注意:我不想使用UIDocument,但是,如果这是唯一的选项,请告诉我。

我在使用代码时也有同样的问题

[[NSFileManager defaultManager] setUbiquitous:NO itemAtURL:filePathURL destinationURL:ubi2 error:&error];
您必须像下面这样更改代码才能正常工作

  [[[NSFileManager alloc]init]setUbiquitous:YES itemAtURL:filePathURL destinationURL:ubi2 error:nil];
此代码用于将文件移动到icloud,您还应该更改正在移动的文件的名称。它不应该是相同的