3

私は数日間、自分のアプリをiCloudに後付けすることに戸惑い、誰かが助けてくれることを願っています。コード署名の問題を乗り越えた後、iCloudを組み込むためのモデルを理解しているかどうかわかりません。私は私がやろうとしていることを人々に伝えることを大いに信じているので、私が最初に解決しようとしている問題をあなたに話します。

私のアプリのワークフロー

  1. ユーザーは、ダウンロードできる一連のトレーニングプランを一覧表示するストアを閲覧します
  2. ユーザーがプランを選択してダウンロードします
  3. ニーズに合わせてカスタマイズされたWebサーバーからトレーニングプランを取得します
  4. ダウンロードしたトレーニングプランのファイル名を、所有しているプラ​​ンのリストに追加します
  5. ユーザーがトレーニングプランを開き、日々のスケジュールを確認します

ユーザーがiPhoneでこれを実行してから、iPadを開いて、まったく同じトレーニングプランが同期されていることを確認できるようにしたいと思います。

私の問題は現在、ファイルをDocumentsディレクトリに保存していますが、それは問題なく機能します。これをiCloudで動作するように改造して、iCloudが有効になっていない人でもアプリを使い続けることができるようにするにはどうすればよいですか?

私の理解では、まだDocumentsフォルダーに保存してから、コピーをiCloudフォルダーに保存する必要があるのか​​、それともこれからiCloudフォルダーに書き込むだけなのかについて混乱しています。

前者の場合は、DocumentsフォルダーファイルをiCloud領域にコピーしてプッシュするだけだと思いますが、iCloudフォルダーで新しいファイルを検出して、Documentsフォルダーにコピーして戻すにはどうすればよいですか?

後者の場合、ファイルは正しく存在する必要がありますか?

私はそれが後者であり、iCloudがオンになっていないデバイスをまだサポートしていることを望んでいます...

明確にするための助けをありがとう。

アダム

4

2 に答える 2

3

iCloud APIはかなりよく文書化されており、あなたが求めているものを扱う特定の章があります。

ドキュメントのライフサイクルの管理

ドキュメントは、典型的なライフサイクルを通過します。ドキュメントベースのアプリケーションは、そのサイクル全体の進行状況を管理する責任があります。次のリストからわかるように、これらのライフサイクルイベントのほとんどはユーザーによって開始されます。

  1. ユーザーは最初にドキュメントを作成します。
  2. ユーザーが既存のドキュメントを開くと、アプリケーションはそれをドキュメントの1つまたは複数のビューに表示します。
  3. ユーザーがドキュメントを編集します。ユーザーは、ドキュメントをiCloudストレージに入れるように要求したり、iCloudストレージからのドキュメントの削除を要求したりする場合があります。
  4. 編集、保存、またはその他のアクション中に、エラーまたは競合が発生する可能性があります。アプリケーションは、これらのエラーと競合について学習し、それらを処理するか、ユーザーに通知する必要があります。
  5. ユーザーは選択したドキュメントを閉じます。ユーザーが既存のドキュメントを削除します。次のセクションでは、これらのライフサイクル操作のためにドキュメントベースのアプリケーションが実行する必要のある手順について説明します。

基本的に、アプリケーションは、特定のユーザーがiCloudを利用できるかどうかを判断し、ユーザーがデータをクラウドに保存することを希望していることを確認する責任があります。その選択に基づいて、既存のデータをドキュメントディレクトリからクラウドURLに移動する方法を検討する必要があります。

iCloudストレージを使用するように設定されている他のデバイスでは、メタデータクエリを介して利用可能なドキュメントを検出するオプションがあります。

http://developer.apple.com/library/ios/#documentation/DataManagement/Conceptual/DocumentBasedAppPGiOS/ManageDocumentLifeCycle/ManageDocumentLifeCycle.html#//apple_ref/doc/uid/TP40011149-CH4-SW1

于 2011-10-19T15:45:29.963 に答える
1

iCloudを実装する非常に簡単なサンプルを探している場合は、これを見てください:

iCloudの基本とコードサンプル

これは、Rogが上記の投稿で引用したいくつかのステージを実装する方法の具体例を示しています。お役に立てれば。

于 2011-10-22T09:51:57.427 に答える