iCloudを使用するように設定されたアプリがあります。 NSUbiquitousKeyValueStoreにキー/値を追加していて、すべてのデバイスで期待どおりに取得できます。ただし、設定の下でアプリのiCloudデータを削除すると、NSUbiquitousKeyValueStoreに追加したすべてのiCloudデータも削除されることが予想されますが、そうではありません。 iCloudをどのくらい長く同期しても、すべてのデータを取得できます。iCloudデータを削除してもNSUbiquitousKeyValueStoreがクリアされませんか?
私はdeveloper.icloud.comに行き、他のiCloudデータ(私はiCloudでCore Dataも使用しています)が正しく削除されているのを見ましたが、NSUbiquitousKeyValueStoreがデータを保持しているフォルダはありません。
これが削除されるはずですか?ユーザーがこれを削除できない場合、「クラウドメモリリーク」のようなものです。
ご回答ありがとうございます。私は手動で値を削除する方法が不思議ではない - その部分は明らかです。私は、ユーザーがこのデータを削除する方法であるかどうかを確認しようとしています。私はすでに何かを設定していたかどうかを知るために、ユビキタスストアの価値を打ち出していました。ユーザーがiCloudデータを削除した場合、その操作を再実行したいのです。しかし、ユーザーがデータを削除する方法がある場合、この方法は機能しない可能性があります。 – lehn0058
ああ、大丈夫です。NSMetadataQueryを使用して、コアデータファイルがまだ存在するかどうかを判断することができます –
ええ、トランザクションログが存在するだけでなく、特定のデバイスが設定されているかどうかを知る必要があります。私は自分のNSUbiquityKeyValueStoreを私が作成したubiquityコンテナとファイルを使って実装しようと思っています。こうすることで、ユーザーがiCloudデータを削除したときに値が確実に削除されます。 – lehn0058