我为iCloud键值存储
编写了代码 [[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyValueStoreChanged:)
name:NSUbiquitousKeyValueStoreDidChangeExternallyNotification
object:nil];
LOG(@"sync");
[[NSUbiquitousKeyValueStore defaultStore] synchronize];
当我删除app并重新安装它时,通常会调用observer方法,但有时不会调用它。
为什么呢?只是网络问题?
答案 0 :(得分:4)
我遇到类似的问题,无论我等多久,NSUbiquitousKeyValueStoreDidChangeExternallyNotification都没有在安装后的第一次启动时触发。在NSUBiquitousKeyValueStore中设置初始密钥似乎可以解决这个问题。
将观察者添加到默认商店后,我立即调用:
[[NSUbiquitousKeyValueStore defaultStore] setString:@"testValue" forKey:@"testKey"];
[[NSUbiquitousKeyValueStore defaultStore] synchronize];
我使用不同的密钥(即不是 testKey )来表示我想要同步的实际数据。