15

iCloud を使用してアプリの設定ファイルをデバイス間で同期できるかどうか疑問に思っていました。私が話している設定ファイルは、アプリの設定を保存するために NSUserDafults によって作成された com.domain.appname.plist ファイルです。

アプリの環境設定ファイルを 2 つの異なるデバイス (iPad と iPhone など) 間で同期するオプションが必要です。これは iCloud 同期の使用として許容されますか? または、plist ファイルを別の種類のドキュメントに変換してクラウドに保存し、取得時にアプリの設定ファイルに戻す必要がありますか?

ありがとう!

4

3 に答える 3

18

MKiCloudSyncと同様に、GitHub にSDCloudDefaultsというライブラリもあります。自動的に同期するのではなく、NSUserDefaultsiCloud と の両方に保存する代わりに使用する新しいオブジェクトがありますNSUserDefaults。これは、どの要素をローカルに保存し、どの要素をクラウドに保存するかを決定できることを意味します。

(MKiCloudSync を実装した後に見つけました。賢いと思いますが、すべてを iCloud に同期したくないので、私のソリューションはまだうまく機能します。)

于 2012-01-25T12:01:33.287 に答える
14

これを 1 行のコードで実行できるライブラリがあります。

https://github.com/MugunthKumar/MKiCloudSync

于 2011-12-20T12:19:56.883 に答える
11

iCloud を使用して、デバイス間で環境設定を同期することができます。ただし、デバイス間で plist ファイルを共有することはお勧めしません。

NSUbiquitousKeyValueStoreは、あなたがしようとしていることに適しているはずです。これは NSUserDefaults に非常に似ているため、簡単に理解できるはずです。

これを使用するには、資格ファイルで com.apple.developer.ubiquity-kvstore-identifier 資格を有効にし、ユビキタス キー バリュー ストアで同期したい設定を複製するだけです。ユビキタスな kvstore に入ると、他のデバイスのアプリケーションから見ることができます。同じ識別子を使用している限り、異なるアプリケーション間で同期することもできます.

また、NSUbiquitousKeyValueStoreDidChangeExternallyNotification 通知に登録して、新しい変更を監視し、それに応じてデバイスの standardUserDefaults を更新する必要があります。

于 2011-10-18T22:10:33.450 に答える