0

嗨,我使用共享组来存储我需要从手表中读取的值,但由于某些原因,该值是nil

我在开发人员门户中创建了一个应用程序组,并在应用程序和功能下的 watchkit 扩展中启用并检查了应用程序组。

我还忘了什么?有人能帮助我吗?

IOS APP: MainViewController.swift

    let defaults = UserDefaults.standard
    defaults.set(newUsername, forKey: "username")
    defaults.set(newCode, forKey: "password")
    defaults.synchronize()

    // when i print  defaults.string(forKey: "username")   here it
       returns me the username

观看扩展InterfaceController.swift

    let defaults = UserDefaults.standard
    let userName = defaults.string(forKey: "username")!
    let password = defaults.string(forKey: "password")!

    // when i print  defaults.string(forKey: "username")   here it  
       returns me nil

我还尝试指定默认值,但没有运气。

let appGroupID = "group.tld.domain.appname"
if let defaults = UserDefaults(suiteName: appGroupID) {
   defaults.setValue(username, forKey: "username")
   defaults.setValue(password, forKey: "password")
}
4

1 回答 1

0

如果您需要从 iOS 应用程序共享数据以观看扩展程序,那么您应该使用 Session。实际上 Userdefaults 或核心数据的存储数据不能在没有会话的情况下通过。

于 2017-03-30T17:18:15.843 回答