1

メッセージを送れば

[[NSFileManager defaultManager] setUbiquitous:NO
                                    itemAtURL:url
                               destinationURL:iCloudURL
                                        error:&err]

iCloudからアイテムを削除するために、ユビキタスコンテナ上のファイルは実際には削除されません。これは予想される動作ですか?

メソッドはNOを返し、エラーオブジェクトには次のものが含まれます

エラードメイン=NSCocoaErrorDomainコード=512「操作を完了できませんでした。(Cocoaエラー512)」

UserInfo = 0x20870970 {NSURL = file:// localhost / var / mobile / Applications / 168EE8CD-4CDF-49BE-AD88-1DC7DD9CF25F / Documents / test.txt、

NSUnderlyingError = 0x20863a00 "操作を完了できませんでした。(LibrarianErrorDomainエラー2-同期されていないアイテムの同期を無効にできません。)"}

4

3 に答える 3

3

エラーはかなり明らかです。iCloudにないアイテムをiCloudから削除しようとしています。を使用してiCloudからアイテムを削除する場合setUbiquitous:...、アイテムのURL(itemAtURL:)はiCloudのURLである必要があります。宛先URLはローカルのものにすることができます(ただし、ユビキタスがに設定されている場合は無視されますNO)。

于 2013-06-14T03:47:18.840 に答える
2

「setubiquitous」パラメータを「no」に指定する場合、destinationURLはiCloudではなくローカルURLである必要があります。URLを切り替えました

于 2013-06-14T03:27:52.453 に答える
1

iCloud上のアイテムを削除するには、次のコードを試すことができます。

NSError *err;
NSFileCoordinator* fileCoordinator = [[NSFileCoordinator alloc] initWithFilePresenter:nil];
[fileCoordinator coordinateWritingItemAtURL:_url
                                    options:NSFileCoordinatorWritingForDeleting
                                      error:&err
                                 byAccessor:^(NSURL* writingURL) {
                                           NSFileManager* fileManager = [NSFileManager defaultManager];
                                           [fileManager removeItemAtURL:writingURL error:nil];
                                 }];
[fileCoordinator autorelease];

幸運を!

于 2013-06-14T03:36:00.063 に答える