微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。