我的问题很简单:
我现在正在开发将数据存储在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 时捕获数据。
我在 iOS 应用程序中做的所有事情都是一样的,当我在NSUbiquitousKeyValueStore中存储数据时会采取额外的行动:
// Script 1
[[NSUbiquitousKeyValueStore defaultStore] setDictionary:@{@"id":@1} forKey:@"theKey"];
我的测试场景是:
- 在 Xcode 中运行可可应用程序
- 在我的设备中运行 iOS 应用程序
- 在 iOS 应用程序中,我有一个按钮,它调用脚本 1
- 在这里,我希望在 Cocoa 应用程序上会在 10-20 秒内调用dataUpdatedFromCloud ,但事实并非如此!!!
我做的一切都是正确的,还是我理解错误?