Swift - UserDefaults 设置未保存在框架内

问题描述

我有一个框架,它生成一次设备 UUID 并使用 UserDefaults 保存它。该应用程序可以访问 UserDefaults,一切都按预期工作。但是,在某些情况下,框架不会访问 UserDefaults。 我在 iPhone 8 上使用同步()方法对此进行了整理:

  func getDeviceID() -> String {
      if let device = UserDefaults.standard.object(forKey: "DeviceID") as? String {
           return device
       } else {
           let device = UUID().uuidString
           UserDefaults.standard.set(device,forKey: "DeviceID")
           UserDefaults.standard.synchronize() // this line helped with an iPhone 8
           return device
       }
   }

但是,在较旧的第一代 iPhone SE 上,问题又回来了。 首先,为什么会发生这种情况,为什么同步()方法似乎对较新的设备有帮助? (两部手机都运行iOS 13) 从框架内访问 UserDefaults 时是否有任何已知限制?

解决方法

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

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

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