2012-01-29 12 views
3

I'vは、オン​​ラインのカップルのチュートリアルを読んで、Appleのドキュメントを読ん、とさえしかし、私は一つのことがまだあるのiCloud上のCS193p講義を視聴された文書を既存のはっきりしない程度:ユーザーが編集できるようにする/ビューのiCloudが使用できなくなったときに

あなたはiCloud上にドキュメントを同期するアプリケーションを持っている場合してください。ユーザーがiCloudサービス(飛行機モード、ネットワークが利用できないなど)にアクセスできない間に、既存のドキュメントの表示/編集や新しいドキュメントの作成を許可するにはどうすればよいですか?

たとえば、 iOS5のリマインダのアプリケーションは、飛行機モードであってもiCloudにある既存のドキュメントを表示/編集することができます。変更は、次にiCloudサービスが利用可能になったときに伝播されます。

これは本当に奇妙なようです。メタデータクエリにユビキタスコンテナへの有効なURLが提供されていない場合、どのようにリマインダーのリストを作成しますか?つまり、URLForUbiquityContainerIdentifier:を呼び出すと、iCloudが使用できないため、nilが返されます。次に、メタデータクエリを作成することはできません。これは、クエリするURLを提供できないためです。したがって、ユーザーがオフラインで表示および編集できるように、ドキュメントのリストを作成することはできません。

これがどのように行われたかについての助力や洞察力は非常に高く評価されています。

==================================== UPDATE ======== ============================

[OK]を - 私はこのスレッドつまずい:here

をそれは基本的に話してiCloudを使用しているときにファイルシステムにファイルを保存する方法。 iCloudでファイルが作成されるたびに収集された内容から、最初にURLForUbiquityContainerIdentifier:を呼び出したときに作成される特別な拡張ローカルストレージコンテナに保存されます。この特別なディレクトリは、iCloudデーモンによって管理されます。この特別なディレクトリに格納されることに加えて、ドキュメントは他のアプリケーションで使用するためにクラウドにアップロードされます。 iCloudが突然利用できない場合、ローカルデーモンに保存されているファイルにどのようにアクセスしますか?

答えて

1

この質問への答えは、この他の質問に関連しています。 iCloudから変更するファイルを要求して、オフラインモードで使用できるローカルのUbiquityContainerにダウンロードする必要があります。この質問は、すべてのすべてではiCloudが本当に利用できないだけで、オフラインnilを返しませんURLForUbiquityContainerIdentifier:方法を、

Does URLForUbiquityContainerIdentifier: return nil when network access is not available?

回答を参照してください。

+0

また、NSFileManagerがブロックされている可能性があり、メインスレッドとは別のスレッドで呼び出される必要があることにも言及する必要があります。 http://stackoverflow.com/questions/9050359/should-urlforubiquitycontaineridentifier-be-called-in-a-thread-outside-the-main/9051105#9051105 – MobileOverlord

関連する問題