2012-09-28 53 views
3

我寫代碼的iCloud鍵值存儲NSUbiquitousKeyValueStoreDidChangeExternallyNotification不叫有時

[[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(keyValueStoreChanged:) 
               name:NSUbiquitousKeyValueStoreDidChangeExternallyNotification 
               object:nil]; 
    LOG(@"sync"); 
    [[NSUbiquitousKeyValueStore defaultStore] synchronize]; 

當我刪除應用程序,並重新安裝,觀測方法通常被稱爲,但有時不叫。

爲什麼?只是網絡問題?

+0

我看到一個類似的問題,其中NSUbiquitousKeyValueStoreDidChangeExternallyNotification永遠不會在安裝後第一次重新安裝應用程序時被觸發,無論我等待多久。但關閉應用程序(不把它放在後臺),只是第二次啓動它,似乎工作和NSUbiquitousKeyValueStoreDidChangeExternallyNotification 開始從那裏開始適當的。 – pulkitsinghal

+0

用apple @ bugreport.apple.com提交,12394404 - NSUbiquitousKeyValueStore通知在第一次應用程序啓動時不會觸發 – pulkitsinghal

回答

4

我有一個類似的問題,其中NSUbiquitousKeyValueStoreDidChangeExternallyNotification沒有在安裝後的第一次啓動時觸發,無論我等待多久。在NSUBiquitousKeyValueStore中設置一個初始密鑰似乎解決了這個問題。

立即加入觀察者默認存儲後,我打電話:

[[NSUbiquitousKeyValueStore defaultStore] setString:@"testValue" forKey:@"testKey"]; 
[[NSUbiquitousKeyValueStore defaultStore] synchronize]; 

我用實際數據我要同步不同的密鑰(即不密押)。