3

我为 iCloud 键值存储写了代码

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

当我删除应用程序并重新安装它时,通常会调用观察者方法,但有时不会调用。

为什么?只是网络问题?

4

1 回答 1

4

我有一个类似的问题,无论我等了多长时间,NSUbiquitousKeyValueStoreDidChangeExternallyNotification 都没有在安装后的第一次启动时触发。在 NSUBiquitousKeyValueStore 中设置一个初始键似乎可以解决这个问题。

在将观察者添加到默认存储后,我立即调用:

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

我对要同步的实际数据使用不同的键(即不是testKey )。

于 2012-11-20T15:10:13.463 回答