嗨我使用共享组来存储我需要从手表中读取的值,但由于一些共鸣,值 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")
}
答案 0 :(得分:0)
如果您需要从iOS应用程序共享数据以观看扩展,那么您应该使用Session。实际上,如果没有会话,Userdefaults或核心数据的商店数据就无法通过。