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

iOS - KeyValueStore 不能跨设备工作

如何解决iOS - KeyValueStore 不能跨设备工作

我有一个应用将实现键值存储,以保存一些变量并在设备间同步。

我有一个包含以下内容的视图控制器:

var keyStore: NSUbiquitouskeyvalueStore?

在 viewDidLoad 我做

keyStore = NSUbiquitouskeyvalueStore()

然后当用户看完我运行的视频

keyStore?.set(num,forKey: "watched") // where num is a number
keyStore?.synchronize()

为了检查“watched”变量的值,我在 didFinishLaunchingWithOptions 上运行:

keyStore = NSUbiquitouskeyvalueStore()
let val = keyStore?.string(forKey: "watched")
print(val)

如果我多次测试应用程序,val 的值会相应更改。但是,当我在不同的设备上测试时,val 返回 nul。如果我在这个新设备中使用该应用程序,“watched”的值会发生变化,但两台设备之间的值永远不会同步。

我读到有一个通知方法来检查存储的值是否实时更改,但在这种情况下,我在应用程序启动期间读取存储的值。这不会让它变得不需要吗?

解决方法

我的错。确保您已在模拟器中登录 Cloud。

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