UIDocumentファイルのiCloud同期をオフにしようとするとエラーが発生します。他の誰かがこの問題に遭遇したのではないかと思います。ここではシナリオがあります:setUbiquitousでUIDocumentファイルのiCloud同期をオフにするとエラー(LibrarianErrorDomainエラー2)
私はアプリのサンドボックス内でローカルUIDocumentファイルを作成し、iCloudのでファイルの同期を開始するには、以下の呼び出しを行います。
[[NSFileManager defaultManager] setUbiquitous:YES itemAtURL:localPathURL destinationURL:cloudPathURL error:&error];
すべてがswimminglyだろう。
今、このファイルのiCloud同期を停止します。
私は最初のファイルには、少なくとも以下を呼び出すことで、iCloudのと同期されていることを確認してください。
- (BOOL) isDataFileSyncedWithCloud
{
if (![self isICloudSupported] || ![self isUsingICloudForFiles])
return NO;
NSURL* file = [self getFileURLToCloudDatafile];
NSNumber* isInCloudNum = nil;
if ([file getResourceValue:&isInCloudNum forKey:NSURLIsUbiquitousItemKey error:nil])
{
// If the item is in iCloud, see if it is downloaded and uploaded.
if ([isInCloudNum boolValue])
{
NSNumber* isDownloadedNum = nil;
if ([file getResourceValue:&isDownloadedNum forKey:NSURLUbiquitousItemIsDownloadedKey error:nil])
{
NSNumber* isUploadedNum = nil;
if ([file getResourceValue:&isUploadedNum forKey:NSURLUbiquitousItemIsUploadedKey error:nil])
{
return ([isDownloadedNum boolValue] && [isUploadedNum boolValue]);
}
}
}
}
return NO;
}
上記戻りYES、ファイルを示すが同期されている(またはそう思いました...)だから、
、今私が先に行くとのiCloudは、このファイルの同期を停止するには、以下の呼び出しを行います。
[[NSFileManager defaultManager] setUbiquitous:NO itemAtURL:localPathURL destinationURL:cloudPathURL error:&error];
と、私は次のエラーを取得する:「操作を完了できませんでした(リーbrarianErrorDomainエラー2 - 同期されていないアイテムで同期を無効にすることはできません)。 "
このエラーがなぜ発生しているのか、どのように取り除くことができますか?私はファイルが完全に同期されていると思っていたでしょう...
ありがとうございます!