0

我正在订阅以NSUbiquitousKeyValueStoreDidChangeExternallyNotification监视来自 iCloud 的键值更改。收到后,我会处理userinfo包含的内容并应用我的业务逻辑。

但是,有时(尤其是在首次启动时)我收到的密钥似乎与系统相关,或者至少不是我的应用程序的一部分 -

AppleKeyboards
NSInterfaceStyle
AppleKeyboardsExpanded
AppleICUForce24HourTimeAirPlayShouldShowDebugButtonInPicker

ETC

  1. 如何识别此类密钥并避免尝试针对我的应用程序代码运行它们?我是否应该以某种方式“标记”我自己的数据以便识别它们?
  2. 我是否负责更新这些键的本地值?iCloud 发送它们一定是有原因的,但我不知道把它们放在哪里。它们在我的 NSUserDefaults 中吗?或者 iCloud 是否单独处理它们(在这种情况下,它们包含在用户信息中似乎很奇怪)?

这就是我订阅通知的方式:

[[NSNotificationCenter defaultCenter] addObserver:self                                                   selector:@selector(iCloudStoreChanged:)
                                             name:NSUbiquitousKeyValueStoreDidChangeExternallyNotification
                                           object:store];
4

1 回答 1

0

朱利安就在这里。我没有使用任何框架,有点忘了以前我使用 MKiCloudSync 来同步我的 NSUserDefaults。我只能假设系统将这些密钥添加到 NSUserDefaults 并传播到 iCloud。

于 2013-06-22T14:21:06.923 回答