0

Appleのドキュメントには次のように書かれています。

ユーザーが初めてiCloud対応アプリを起動するときは、iCloudを使用するように招待します。

iCloudとローカルストレージのどちらを使用するかについて、ユーザーに再度プロンプトを表示することはありません。

ユーザーが初めてiCloudを選択せず​​、後で使用することにした場合はどうなりますか?

iCloudを数日間使用した後、ユーザーがローカルストレージに戻すことにした場合はどうなりますか?

ユーザーがiCloudストレージスペースを使い果たしたが、追加のスペースにお金を払いたくない場合はどうなりますか?

ユーザーがローカルストレージとiCloudストレージを切り替えられるようにアプリを設計する必要がありますか?はいの場合、これに対処するための最良の方法は何ですか?

ありがとう。

4

1 に答える 1

1

はい、あなたは間違いなく2つのストレージ方法の間でユーザーを移行できる必要があります。上記に加えてさらに多くの理由があります-ユーザーがiCloudからサインアウトした場合はどうなりますか?そして、その後に別のiCloudユーザーがサインインした場合はどうなるでしょうか。このようなものを処理し、可能な場合は移動できるようにする必要があります。それができない場合でも、適切な場所とユーザーが期待する場所に保存します。

どのように処理するかは、使用しているiCloudストレージの種類によって異なります。Key Valueストアの場合は、その内容をローカルにキャッシュする必要もあります(NSUserDefaultsの代替ではありません)。

ドキュメントとコアデータの場合、永続ストアをローカルストアに戻すことができる場合もあれば、ドキュメントをiCloudからローカルストレージに移動する場合もあります。iOSでのドキュメントプログラミングガイドとiCloudガイドの両方を読んで、少なくともこれを処理する方法の基本的な考え方を理解することをお勧めします。

難しい場合があるのは、これらの変更のいくつかを検出することです。この点で、APIは少し不十分です。一部で使用されている手法の1つは、ユビキタスに配置する「センチネルファイル」です。ファイルが欠落している場合は、iCloudユニバースが変更されたことを知っています。

iWorkのように、Appleのアプリがこれをどのように処理するかを見てみましょう。設定バンドルにはiCloudスイッチがあります。

于 2012-11-21T01:24:05.240 に答える