我正在订阅以NSUbiquitousKeyValueStoreDidChangeExternallyNotification
监视来自 iCloud 的键值更改。收到后,我会处理userinfo
包含的内容并应用我的业务逻辑。
但是,有时(尤其是在首次启动时)我收到的密钥似乎与系统相关,或者至少不是我的应用程序的一部分 -
AppleKeyboards
NSInterfaceStyle
AppleKeyboardsExpanded
AppleICUForce24HourTimeAirPlayShouldShowDebugButtonInPicker
ETC
- 如何识别此类密钥并避免尝试针对我的应用程序代码运行它们?我是否应该以某种方式“标记”我自己的数据以便识别它们?
- 我是否负责更新这些键的本地值?iCloud 发送它们一定是有原因的,但我不知道把它们放在哪里。它们在我的 NSUserDefaults 中吗?或者 iCloud 是否单独处理它们(在这种情况下,它们包含在用户信息中似乎很奇怪)?
这就是我订阅通知的方式:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(iCloudStoreChanged:)
name:NSUbiquitousKeyValueStoreDidChangeExternallyNotification
object:store];