当我尝试使用UserDefaults(watchOS)从共享组中读取时,为什么我的值为nil

时间:2017-03-30 17:02:28

标签: ios swift3 nsuserdefaults watchkit userdefaults

嗨我使用共享组来存储我需要从手表中读取的值,但由于一些共鸣,值 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")
}

1 个答案:

答案 0 :(得分:0)

如果您需要从iOS应用程序共享数据以观看扩展,那么您应该使用Session。实际上,如果没有会话,Userdefaults或核心数据的商店数据就无法通过。

相关问题