【发布时间】:2014-07-14 18:24:25
【问题描述】:
我的问题很简单:
我现在正在开发 Cocoa 应用程序,它将数据存储在 iCloud(键值存储)中。为了测试 iCloud 同步,我构建了一个简单的iOS 应用,并将其安装在我的设备 中。
我在 cocoa 应用中做了 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 中运行 cocoa 应用程序
- 在我的设备中运行 iOS 应用
- 在 iOS 应用程序中,我有一个按钮,它调用 Script 1
- 我希望 dataUpdatedFromCloud 在 Cocoa 应用程序上在 10-20 秒内被调用,但它没有!!!
我所做的一切都是正确的,还是我理解错误?
【问题讨论】:
标签: objective-c macos cocoa icloud nsubiquitouskeyvaluestore