6

iCloud Key Value ストアを使用する OSX 10.8 アプリケーションに取り組んでいます。ドキュメント ストレージは使用しません。

ユーザーが iCloud Key Value ストアを利用できるかどうかを確認したいと考えています。

私は次のようなクラウドを使用しようとしていました:

+ (BOOL)isCloudAvailable {
       id currentCloudToken = [NSFileManager defaultManager] ubiquityIdentityToken];
       return (currentCloudToken) ? YES : NO;
}

ubiquityIdentityTokenただし、ユーザーが iCloud にログインしている場合でも、への呼び出しは常に nil を返します。

Ubiquity Container とキー値ストアを構成すると、その呼び出しは機能します。

ただし、アプリに要件がないのに「ドキュメントとデータの保存」が必要であることを示すため、Apple のレビューによってアプリが拒否されました。私は単に iCloud が利用可能かどうかを判断するためにそれを使用していました。

ユーザーが iCloud キー値ストアのみを使用できるかどうかを判断する方法はありますか?

4

1 に答える 1

12

iCloud Fundamentals ガイドには、Document Storage と Key-Value Store を比較する表があります(表 1-1)。モバイル ドキュメントとは対照的に、キー バリュー ストアは常に有効に利用可能であると見なす必要があります。

また、iCloud が有効になって[NSUbiquitousKeyValueStore defaultStore]いないnil場合はそうではなく、キーと値のペアも保存されます。iCloud サーバーにアップロードされないだけです。NSUbiquitousKeyValueStore の観点からは、オフラインログアウトの違いはほとんどありません。

また、デバイスがアカウントに接続されるとすぐに、既に保存されている値がサーバーにプッシュされることに注意する必要があります。競合を処理する必要がある場合があります (ユース ケースでデフォルトのラスト ワン ウィン戦略が機能しない場合)。

于 2013-06-12T06:01:14.550 に答える