ユーザーが を使用して iCloud を使用するアプリをインストールし、そのアプリを使用してUI(Managed)Document
データを作成し、それを iCloud に保存してから自分の電話でアプリを削除した場合、iCloud データはデバイスに残ります (トランザクション ログなど)。ユーザーがアプリを再インストールすると、これらの古いファイルを使用しようとします。
それには次の2つの問題があります。
- その間に iCloud ドキュメントが変更された可能性があり、ユーザーがアプリを再インストールした後の最初の起動時にネットワーク接続がない場合に問題が発生する可能性があります。
- このアプリの iCloud ドキュメントは、ユーザーによって (設定またはユーザー ライブラリの Mac OS Finder で) 削除された可能性があります。現在、ユーザーがアプリを再インストールした後の最初の起動時にネットワークがない場合、アプリは既に削除されていても、データを含むユビキタス コンテナーがあると見なす場合があります (アプリがクラッシュする可能性があります)。
これをテストするのは簡単ではありませんが、これら 2 つの問題で確実にクラッシュや誤動作が発生しています。たとえばNSMetadataQuery
、削除されたためにiCloudに存在しないドキュメントの結果が表示されます(ただし、アプリの削除時には存在していました)。
これに対する簡単な解決策はありますか?アプリを初めて起動したときにデバイス上のローカルの iCloud データを削除することを考えましたが、どうすれば削除できますか?