私の問題は単純
です。現在、 iCloud (キー値ストア)にデータを保存するCocoa アプリケーションを開発しています。iCloud 同期をテストするために、単純なiOS アプリを作成し、デバイスにインストールしました。
ココアアプリでiCloudの初期化を行いました:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dataUpdatedFromCloud:) name:NSUbiquitousKeyValueStoreDidChangeExternallyNotification object:[NSUbiquitousKeyValueStore defaultStore]];
[[NSUbiquitousKeyValueStore defaultStore] synchronize];
およびセレクター:
+(void)dataUpdatedFromCloud:(NSNotification *)notification {
NSLog(@"dataUpdatedFromCloud: %@", [[NSUbiquitousKeyValueStore defaultStore] objectForKey:@"theKey"]);
}
iCloudからのデータをキャッチするため。NSUbiquitousKeyValueStore
にデータを保存するときに追加のアクションを使用して、iOS アプリですべて同じことを行います。
// Script 1
[[NSUbiquitousKeyValueStore defaultStore] setDictionary:@{@"id":@1} forKey:@"theKey"];
私のテストシナリオは次のとおりです。
- Xcode でココア アプリケーションを実行します。
- デバイスで iOS アプリを実行する
- iOS アプリには、スクリプト 1を呼び出すボタンがあります。
- ここで、Cocoa アプリでdataUpdatedFromCloudが 10 ~ 20 秒で呼び出されることを期待していますが、そうではありません!!!
私はすべて正しいことをしていますか、それとも何かを間違って理解しているのでしょうか?