2012-04-11 13 views
2

私はライブラリスタイルのiCloud + Core Dataセットアップを使用しています。私が取り組んでいるアプリには、ログイン画面の背後にあるユーザーデータが含まれています。ユーザーがログインすると、Persistent Store Coordinatorがインスタンス化され、iCloudストアが追加されます。ここでiCloudコアデータエラーの処理

私のユースケースと問題です:

1)アプリを使用して起動し、データがiCloudの 2に格納されている)アプリ 3を削除します)、再びデバイスに構築するアプリにログインし、トランザクションを期待リコールされるログ、およびローカルストア内のデータを再作成することができます。 4)低速接続を使用すると、ファイルのダウンロードに失敗したというデバッグログに何度もエラーが表示されます... 5)アプリケーションが空で、バックアップの復元が失敗したように見えます。

私の設定は実際には正しいものであり、降下接続に対して100%動作します。

iCloudにこれらのファイルのダウンロードを強制的に再試行させる方法はありますか?ユーザーにアプリを許可する前に、これらのファイルが正常にダウンロードされたことを確認するコールバックがありますか?

アドバイスをいただければ幸いです!ありがとう。

答えて

1

iCloudはまだ幼少期にあり、特にCore Dataとの統合技術です。

iCloudがコンテンツをデバイスにプッシュすることを決定する間隔は予測できません。残念ながら現時点では、iCloudにデータを取得させる方法はありません。アップルデベロッパーフォーラムのどこかで、iCloudコンテンツのダウンロードに失敗した場合、後でもう一度試してみるという。

あなたが今すぐ使用できるコールバックはありません。あなたのアプリは、正しいコンテンツがいつダウンロードされたかを知るのに十分なほどスマートである必要があります。必要なコンテンツの量に応じて、通知から得たデータを確認し、挿入された(または更新された、削除された)行についてuserInfo辞書を確認して、NSPersistentStoreDidUpdateUbiquitousContentChangesNotificationがあるかどうかを調べることによって、

私はアプリで同様のことをすることができました。あなたの状況が発生したときに、ローカルストアをユーザーにロードし、後でユビキタスストアに移行します。

これはほんの数種類の提案ですが、状況は非常に異なる場合があります。これが少なくとも何らかの形で役立つことを願っています。

関連する問題