Class

NSUbiquitousKeyValueStore

An iCloud-based container of key-value pairs you use to share data among instances of your app running on a user's connected devices. キー値ペアのiCloud基盤のコンテナ、あなたがユーザの持つ接続済みデバイス上で動作しているあなたのアプリのインスタンス間でデータを共有するために使います。

Declaration 宣言

@interface NSUbiquitousKeyValueStore : NSObject

Overview 概要

Use the iCloud key-value store to make preference, configuration, and app-state data available to every instance of your app on every device connected to a user’s iCloud account. You can store scalar values such as BOOL, as well as values containing any of the property list object types: NSNumber, NSString, NSDate, NSData, NSArray, and NSDictionary. iCloud「キー値」保管を使用して、初期設定、機器構成、そしてアプリ状態データを、ユーザのiCloudアカウントに接続されたあらゆるデバイス上のあなたのアプリのあらゆるインスタンスで利用可能にしてください。あなたは、BOOLなどのスカラー値を格納できます、何らかのプロパティリスト型:NSNumberNSStringNSDateNSDataNSArray、そしてNSDictionaryを含んでいる値だけでなく。

Changes your app writes to the key-value store object are initially held in memory, then written to disk by the system at appropriate times. If you write to the key-value store object when the user is not signed into an iCloud account, the data is stored locally until the next synchronization opportunity. When the user signs into an iCloud account, the system automatically reconciles your local, on-disk keys and values with those on the iCloud server. あなたのアプリが「キー値」保管オブジェクトに書き込む変更は、最初にメモリにおいて保持されます、それからディスクへとシステムによって適時に書き込まれます。ユーザがiCloudアカウントにサインインしていない時あなたがキー値格納オブジェクトに書き込むならば、そのデータは次の同期機会までローカルに格納されます。ユーザがiCloudアカウントにサインインする場合、システムは自動的にあなたのローカルの、ディスク上のキーと値をiCloudサーバ上のそれらと調整します。

Any device running your app, and attached to the same iCloud account, can upload key-value changes to iCloud. To keep track of such changes, register for the NSUbiquitousKeyValueStoreDidChangeExternallyNotification notification during app launch. Then, obtain the keys and values from iCloud (which may be newer than those that are local) by calling the synchronize method. You need not call the synchronize method again during your app’s life cycle, unless your app design requires fast-as-possible upload to iCloud after you change a value. あなたのアプリが動作中の、そして同じiCloudアカウントに結び付けられた、何らかのデバイスは、キー値変更をiCloudにアップロードします。そのような変更を追跡し続けるには、アプリが起動している間NSUbiquitousKeyValueStoreDidChangeExternallyNotification通知に対して登録してください。それから、キーと値をiCloudから(それはローカルのものより新しいかもしれません)synchronizeメソッドを呼び出すことによって取得してください。あなたは、synchronizeメソッドを再びあなたのアプリのライフサイクルの間に呼び出す必要はありません、あなたのアプリが出来うる限り高速なiCloudへのアップロードをあなたが値を変更した後に要求するよう設計されない限りは。

For more information on adopting key-value storage in your app, see Designing for Key-Value Data in iCloud in iCloud Design Guide. キー値ストレージをあなたのアプリにおいて採用することに関するさらなる情報として、Designing for Key-Value Data in iCloudiCloud Design Guideで見てください。

Avoid using this class for data that is essential to your app’s behavior when offline; instead, store such data directly into the local user defaults database. このクラスを、あなたのアプリのオフライン時の挙動に不可欠なデータに対して使うことを避けてください;代わりに、そのようなデータを直接にローカルのユーザ初期状態データベースに格納してください。

The total amount of space available in your app’s key-value store, for a given user, is 1 MB. There is a per-key value size limit of 1 MB, and a maximum of 1024 keys. If you attempt to write data that exceeds these quotas, the write attempt fails and no change is made to your iCloud key-value storage. あなたのアプリのキー値保管において利用可能な空間の総量は、ある与えられたユーザに対して、1 MBです。キーごとのサイズ制限は1MB、そして最大数は1024個のキーです。あなたがこれらの割当を越えるデータを書き込もうとするならば、その書き込み試みは失敗します、そしてあなたのiCloudキー値保管に対して変更はなされません。 In this scenario, the system posts the NSUbiquitousKeyValueStoreDidChangeExternallyNotification notification with a change reason of NSUbiquitousKeyValueStoreQuotaViolationChange.

The maximum length for key strings for the iCloud key-value store is 64 bytes using UTF8 encoding. Attempting to write a value to a longer key name results in a runtime error. iCloudキー値保管に対するキー文字列の最大長は、UTF8符号化を使って64バイトです。ある値をより長いキー名に書き込もうとする試みは、実行時エラーという結果になります。

To use this class, you must distribute your app through the App Store or Mac App Store, and you must request the com.apple.developer.ubiquity-kvstore-identifier entitlement in your Xcode project. For more on this, see Configuring Common Key-Value Storage for Multiple Apps in iCloud Design Guide. このクラスを使うには、あなたは、あなたのアプリをApp StoreまたはMac Storeを通して配布しなければなりません、そしてあなたはcom.apple.developer.ubiquity-kvstore-identifier資格付与をあなたのXcodeプロジェクトにおいて要請しなければなりません。これに関してさらには、Configuring Common Key-Value Storage for Multiple AppsiCloud Design Guideで見てください。

This class is not meant to be subclassed. このクラスは、サブクラスを作られるのに向きません。

Topics 話題

Getting the Shared Instance 共有インスタンスを取得する

Getting Values 値を取得する

Setting Values 値を設定する

Explicitly Synchronizing In-Memory Key-Value Data to Disk インメモリのキー値データをディスクへと明示的に同期する

Removing Keys キーを除去する

Retrieving the Current Keys and Values 現在のキーと値を取ってくる

Constants 定数

Notifications 通知

Relationships 関係

Inherits From 継承元

See Also 参照

App Preferences アプリ環境設定