0

CoreData を使用するライブラリ型アプリケーションで作業しています。このアプリケーションは iPhone でのみ利用できます。iCloud をバックアップとして使用して、ユーザーがデバイスを変更したり、アプリケーションを削除して再インストールしたりした場合に、元のデータを取得できるようにしたいと考えています。

新しい CoreData-iCloud セットアップを使用すると、構成が非常に単純であることがわかります。NSPersistentStoreUbiquitousContentNameKey永続ストアを作成したときに追加したばかりで、iCloud からの 3 つの基本的な通知をリッスンします。

今私の問題は、アプリケーションを削除して再インストールすると、再インストールされたアプリケーションの最初の起動時に、iCloud からのデータがデバイスに戻るまでに 2/3 分以上かかることです。

これはユーザーが期待するものではありません... アプリケーションを使い始めると、ある時点で古いデータが見つかります。これは、ユーザーの観点からは非常に奇妙です。以前に保存したデータをリロードする正しい方法はありますか、それともリロードするタイミングを iCloud に決定させる必要がありますか? この場合、ユーザーにこのランダムな更新時間を認識させるために、この状況をどのように管理しますか?

4

1 に答える 1

1

バックアップだけが必要な場合は、ストアを /Documents に置くだけで、ユーザーが選択した通常のバックアップ方法を使用してバックアップされます。Core Data/iCloud 統合の使用は、デバイス間のデータの同期を目的としており、トランザクション ログが iCloud に保存されます。これらのトランザクション ログは、アプリの再インストール後にインポートされます (iCloud が利用可能であると仮定します)。

ユーザーが iTunes ではなく iCloud へのバックアップを有効にしている場合、バックアップは自動的に行われ、接続して iTunes と同期する必要はありません。

于 2013-11-18T21:20:54.567 に答える