タグ付けされた質問 「icloud」

2
Core Data、iCloud、CloudKitを使用した同期とバックアップ、およびそれらの連携方法
データを保存、同期、バックアップしたいアプリを作成する初期段階です。アプリはデータベースにデータだけを保存しません。iOS 8以降になる予定なので、CloudKitを使用できます。Core Data、iCloud、CloudKitがどのように連携するかについて、いくつか調査を行いましたが、まだ明確ではありません。 CloudKitは、クラウドとの間でデータを取得および取得するための単なる方法です。CloudKitはデータをiCloudと同期する別の方法ですか? 私の質問は: CloudKitを使用する場合でも、ローカルのコアデータデータベースを作成する必要がありますか? はいの場合、自動的にiCloudと同期されますか、それとも両方の場所に保存するメソッドを呼び出す必要がありますか? データがクラウドにのみ保存されている場合、iOSデバイスがインターネットに接続されていないときに、ユーザーはデータにアクセスできます。CloudKitのキャッシングは制限されていると読みました。 iCloudアカウントが有効になっていない場合、どのように機能しますか。 コアデータデータベースをオフラインおよびオンラインで保存および同期するプロセスで、各テクノロジが何を行っているかを誰かが分析できる場合。 私の現在の理解は: コアデータはデータをローカルに保存するために使用されます iCloudはデータを同期し、クラウドに保存します CloudKitは、クラウドにデータを保存および管理する機能を提供しますか? この質問が締め切られないように十分な情報を提供していただければ幸いです。

5
iCloudの基本とコードサンプル[クローズ]
現在のところ、この質問は私たちのQ&A形式には適していません。回答は事実、参考資料、または専門知識によって裏付けられることを期待していますが、この質問は、討論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてガイダンスを入手してください。 9年前に閉鎖されました。 初心者として、私はiCloudに苦労しています。いくつかのサンプルがありますが、それらは通常非常に詳細です(開発者フォーラムには、iCloudとCoreData用の膨大なサンプルがあります)。リンゴのドキュメントはOKですが、私はまだ大きな画像を見ることができません。ですから、ご容赦ください。これらの質問のいくつかは非常に基本的なものですが、おそらく答えるのは簡単です。 コンテキスト:非常に単純なiCloudアプリを実行しています(以下の完全なサンプルコード)。ユーザーに表示されるUITextViewは1つだけで、ユーザーの入力はtext.txtというファイルに保存されます。 txtファイルはクラウドにプッシュされ、すべてのデバイスで利用できるようになります。完全に機能しますが、次のようになります。 主な問題:iCloudを使用していないユーザーはどうですか? アプリを起動すると(以下のコードを参照)、ユーザーがiCloudを有効にしているかどうかを確認します。iCloudが有効になっている場合は、すべて問題ありません。アプリは先に進み、クラウドでtext.txtを探します。見つかった場合は、それをロードしてユーザーに表示します。text.txtがクラウドで見つからない場合は、新しいtext.txtを作成し、それをユーザーに表示します。 ユーザーがiCloudを有効にしていない場合、何も起こりません。iCloud以外のユーザーが引き続き私のテキストアプリで作業できるようにするにはどうすればよいですか?それとも単にそれらを無視しますか?iCloud以外のユーザーのために別々の関数を書く必要がありますか?つまり、ドキュメントフォルダからtext.txtをロードするだけの関数ですか? Appleはこう書いている: アプリサンドボックス内の他のすべてのファイルを処理するのと同じ方法で、iCloud内のファイルを処理します。 ただし、私の場合、「通常の」アプリサンドボックスはもうありません。クラウドにあります。または、常に最初にディスクからtext.txtをロードしてから、iCloudで最新のものがあるかどうかを確認しますか? 関連する問題:ファイル構造-サンドボックスとクラウド おそらく私の主な問題は、iCloudがどのように機能するかについての根本的な誤解です。UIDocumentの新しいインスタンスを作成するときは、2つのメソッドを上書きする必要があります。最初- (BOOL)loadFromContents:(id)contents ofType:(NSString *)typeName error:(NSError **)outErrorにクラウドからファイルを取得し、次に-(id)contentsForType:(NSString *)typeName error:(NSError **)outErrorファイルをクラウドに取得します。 text.txtのローカルコピーもサンドボックスに保存する個別の関数を組み込む必要がありますか?これはiCloud以外のユーザーでも機能しますか?私がiCloudを理解しているので、text.txtのローカルコピーが自動的に保存されます。したがって、アプリの「古い」サンドボックスに何かを保存する必要はないはずです(つまり、iCloud以前の古いものでした)。現在、私のサンドボックスは完全に空ですが、これが正しいかどうかはわかりません。text.txtの別のコピーをそこに保持する必要がありますか?これは私のデータ構造を乱雑にしているように感じます...クラウドに1つのtext.txtがあり、1つはデバイスのiCloudサンドボックスにあり(オフラインでも機能します)、3つ目はの古き良きサンドボックスにあります私のアプリ... 私のコード:簡単なiCloudサンプルコード これは、開発者フォーラムとWWDCセッションビデオで見つけた例に大まかに基づいています。私はそれを最小限に取り除いた。私のMVC構造が良いかどうかはわかりません。モデルはAppDelegateにありますが、これは理想的ではありません。それをより良くするためのどんな提案も歓迎します。 編集:私は主な質問を抽出して[ここに]投稿しようとしました。4 概要: クラウドからtext.txtをロードする最も重要なビット: // AppDelegate.h // iCloudText #import <UIKit/UIKit.h> @class ViewController; @class MyTextDocument; @interface AppDelegate : UIResponder <UIApplicationDelegate> { NSMetadataQuery *_query; } @property (strong, nonatomic) UIWindow …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.