[英]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.