什么可能导致某些用户的 NSUbiquitousKeyValueStore.synchronize 失败?

问题描述

我使用 NSUbiquitousKeyValueStore 在我的应用中的设备之间同步首选项。对于我的一小部分用户(大约 0.1%),他们的偏好不会在他们的设备之间同步。保存到 NSUbiquitouskeyvalueStore 的值可以正确读取,直到应用终止,但再次启动时,这些值消失了。

我发现的一个线索是,如果我调用 synchronize,它会为这些用户返回 false。这似乎是任何事情都出错的唯一可靠迹象。该文档指出,此函数将“...如果发生错误,则返回 false。例如,如果应用程序未使用正确的授权请求构建,则此方法将返回 false。”但由于这适用于 99.9% 的用户,因此很难想象这是一个权利请求问题。

我联系了一位遇到此问题的用户,他们报告说他们的 iCloud 帐户状态没有任何异常,而且他们使用的是最新版本的 iOS。

我已尝试侦听 didChangeExternallyNotification 并检查各种可能的 NSUbiquitouskeyvalueStoreChangeReasonKey,这些 synchronize 表明诸如存储空间不足之类的事情,但这些用户似乎都没有触发。

是否有任何其他已知原因导致 {{1}} 可能返回 false,这可能有助于理解为什么这些用户无法同步他们的偏好?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)