【发布时间】:2019-05-16 13:41:23
【问题描述】:
在我的设备中切换测试 iCloud 帐户以测试我的应用是否正确处理 iCloud 帐户更改检测时遇到了一个问题。
所以我在 CloudKit 和 NSUbiquitousKeyValueStore 上都存储了数据。
当我使用 iOS 设置注销 iCloud 帐户 A 时,应用程序会自动终止(我想这没关系)。然后,当我使用 iCloud 帐户 B 登录并重新启动应用程序时,在调用 fetchUserRecordID 方法时,我得到了正确的 iCloud 帐户 (B)。
问题是尽管NSUbiquitousKeyValueStore 没有立即更新,并且SynchedPreferences 下存储的.plist 文件(NSUbiquitousKeyValueStore 维护)仍然具有以前的 iCloud 信息,即使我明确调用synchronize 检测到 iCloud 变化后的方法。
这里的问题是,当 iCloud 帐户更改时,我是否必须执行其他操作才能让 NSUbiquitousKeyValueStore 同步启动?还是我只需要等待didChangeExternallyNotification 通知发生,这可能需要 3-30 分钟,或者(在我注意到的其他一些情况下)可能只需要重新启动应用程序才能启动?
【问题讨论】:
标签: ios swift mobile icloud cloudkit