iOS - KeyValueStore 不能跨设备工作
Posted
技术标签:
【中文标题】iOS - KeyValueStore 不能跨设备工作【英文标题】:iOS - KeyValueStore not working across devices 【发布时间】:2021-01-08 22:01:50 【问题描述】:我有一个应用程序将实现键值存储,以便保存一些变量并跨设备同步。
我有一个视图控制器,其中包含以下内容:
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”的值会发生变化,但两个设备之间的值永远不会同步。
我读到有一个通知方法来检查存储的值是否实时更改,但在这种情况下,我正在应用启动期间读取存储的值。那不是不需要它吗?
【问题讨论】:
【参考方案1】:我的错。确保您已在模拟器中登录 Cloud。
【讨论】:
以上是关于iOS - KeyValueStore 不能跨设备工作的主要内容,如果未能解决你的问题,请参考以下文章