[英]How to test iCloud synchronisation between Cocoa app and iOS app
我的问题很简单:
我现在正在开发将数据存储在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"];
我的测试方案是:
我所做的一切是否正确,或者我理解不正确?
好吧,也许吧,但是失败的原因包括:
ubiquityIdentityToken
以进行验证。 @1
设置为值,因此很有可能已经接收到该值,并且新尝试不会更改任何内容。 对于测试,将@1
替换为@1
@([NSDate timeIntervalSinceReferenceDate])
可能有助于确保每次获得的值都不同。 通过重置iCloud的文档和数据,我已经成功地解决了iCloud同步问题,如下所述: http : //support.apple.com/kb/HT5824
有时,iCloud对其已同步的内容以及在何处感到困惑-测试(尤其是当您进行重复的相同更新时)在我的体验中尤其如此。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.