我是使用 Objective-C 的初学者。我使用以下代码将文件移动到 iCloud,但它给出了一个错误The operation could not be completed. The file exists.
//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 中删除了文件,但它给出了一个错误Cannot disable syncing on an un-synced file.
[[NSFileManager defaultManager] setUbiquitous:NO itemAtURL:filePathURL destinationURL:ubi2 error:&error];
我在我的应用程序委托中检查了 iCloud 的可用性,它可用。该文件是一个 XML 文件 (.plist),我有一个本地副本存储在NSDocumentDirectory
.
总体而言,我想在 iCloud 中同步该文件,以便使用我的应用程序的所有设备都可以访问它。我已经为此苦苦挣扎了 2 天,所以如果您能帮助我解决问题,我将不胜感激。
注意:我宁愿不使用 UIDocument,但是,如果这是唯一的选择,请告诉我。