识别非app iCloud密钥值数据

时间:2013-06-16 22:52:53

标签: iphone ios cocoa-touch icloud nsubiquitouskeyvaluestore

我订阅NSUbiquitousKeyValueStoreDidChangeExternallyNotification来监控来自iCloud的键值变化。收到后,我处理包含的userinfo并应用我的业务逻辑。

但是,有时候(尤其是首次启动时)我收到的系统相关的密钥,或者至少不属于我的应用程序 -

AppleKeyboards
NSInterfaceStyle
AppleKeyboardsExpanded
AppleICUForce24HourTimeAirPlayShouldShowDebugButtonInPicker

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

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

1 个答案:

答案 0 :(得分:0)

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