2

概要:

iCloud 同期をサポートする iOS (iPhone 4S または iPhone 5 - 両方でテスト済み) にインストールされたアプリケーションは、実際には iCloud と同期しません。iOS のバージョンは 6.1.2 です。

アプリケーションを開発し、iCloud サポートを追加しました。プロビジョニング プロファイルは、iCloud を有効にしてデバイスに保存された状態で再作成されました。資格は、iCloud と Key-Value Storage を使用するように xcode で適切に構成されています (識別子の値はデフォルトに設定されています)。Apple の iCloud デザイン ガイド チュートリアルに従って、iCloud と同期する機能を実装しました (NSUbiquitousKeyValueStore クラスを使用して値を保存および読み取ります)。

再現する手順:

iPhone 4S または 5 (iOS 6.1.2 がインストールされている) で、iCloud をサポートするアプリ (開発モードまたは App Store からインストールされたアプリ) を使用します。[設定] > [iCloud] > [ドキュメントとデータ] に移動し、[ドキュメントとデータ] を有効にして、[セルラー データの使用] を無効にします。アプリケーションを iCloud で使用してみてください。データはデバイス間で同期されません。また、次のことも試しました。アプリケーションを実行し、iCloud に値を保存し、アプリケーションを削除し、アプリケーションを再度インストールし、アプリを実行しましたが、iCloud から値を取得できませんでした。

iPhone の電源をオフにして、再びオンにします。[設定] > [iCloud] > [ドキュメントとデータ] に移動し、[セルラー データを使用] を有効にします。

ここで、iCloud を有効にしてアプリケーションを実行し、値を iCloud に保存します。値はiCloudから同期されます...すべてが正常に機能しています。

予想された結果:

[Settings] > [iCloud] > [Documents & Data] で [Use Cellular Data] が無効になっており、[Document & Data] が有効になっている場合、iCloud 同期は機能します。

実績:

[設定] > [iCloud] > [ドキュメントとデータ] で [セルラー データを使用] が無効になっている場合、iCloud 同期は機能しません。

ノート:

また、通知 NSUbiquitousKeyValueStoreDidChangeExternallyNotification は、[Settings] > [iCloud] > [Documents & Data] で [Use Cellular Data] が有効になっていない限り、セレクター セットを起動しませんでした。

誰でも同じ動作を再現できますか? [Settings] > [iCloud] > [Documents & Data] で [Use Cellular Data] を無効にして、iCloud 同期を機能させることはできますか?

前もって感謝します!

4

1 に答える 1

1

iCloud Key Value Storageは、iCloudデザインガイドに記載されているため、信頼性がありません。

Key Value Storageの調整が原因で、データの伝播が遅れる可能性があります。

設定と設定」ガイドから:

「Key-Valueストアは、頻繁に変更されないデータを保存することを目的としています。デバイス上のアプリがKey-Valueストアに頻繁に変更を加える場合、システムは、次のラウンドトリップの数を最小限に抑えるために、一部の変更の同期を延期する場合があります。サーバー。アプリが変更を加える頻度が高いほど、後の変更が延期され、他のデバイスにすぐに表示されない可能性が高くなります。」

このKVSスロットリングが原因で、 [ドキュメントとデータ]オプションと[セルラーデータの使用]オプションの両方が有効になっているNSUbiquitousKeyValueStoreDidChangeExternallyNotification場合でも、起動しない場合があります。

これはあなたの問題かもしれません。

そうでない場合は、Appleのスタッフがバグレポートに返信するのを待つ必要があります。(質問はApple Bug Report形式であるため、バグを報告したと思います。)

于 2013-03-14T14:12:56.070 に答える