gpt4 book ai didi

ios - 应用程序共享提供零数据

转载 作者:行者123 更新时间:2023-11-28 06:06:00 25 4
gpt4 key购买 nike

我正在创建 iPhone 应用程序和 iWatch 应用程序。我想将数据从 iPhone 应用程序共享到 iWatch 应用程序。我正在使用应用程序组,并使用套装名称将数据保存在用户默认值中。但是当我在 iWatch 中检索值时,它总是 nil。

我已经创建了三个配置文件。一个用于应用程序,第二个用于 watch 套件,第三个用于 watch 套件扩展。这三个都具有相同的组名。从功能中我启用了应用程序共享,它显示了正确的组名称,我通过单击它启用了它。

之后,在 ViewController.swift(iPhone 应用程序)中

 let userDefaults = UserDefaults.standard
userDefaults.addSuite(named: "group.group.com.demo.appgroup")
userDefaults.set("12345", forKey: "isDarkModeEnabled")
userDefaults.synchr

onize()

在 InterfaceController.swift 中(在 Watch Extension 中)

let storageKey = "group.group.com.demo.appgroup"
let userStorage = UserDefaults(suiteName: storageKey)

// Get setting from storage or default
if userStorage?.object(forKey: "isDarkModeEnabled") == nil
{
print("Data is nil")
}
else
{
lblTest.setText(userStorage?.object(forKey: "isDarkModeEnabled") as? String)
}

但是当我获取数据 fin watch 扩展时,它总是给我 nil。

请帮助解决这个问题。

谢谢

最佳答案

您是否创建了共享应用组?

Apple 文档详细介绍了如何进行设置。此外,这是一个有据可查的问题,人们很难让用户默认设置在模拟器中工作,而他们在真实设备上工作得很好。

https://developer.apple.com/library/content/documentation/General/Conceptual/WatchKitProgrammingGuide/Settings.html

我知道这是在谈论设置包,但它的工作方式与值(value)交换相同。请务必注意,Apple 确实希望您使用 WCSession 在设备之间传输数据。

关于ios - 应用程序共享提供零数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48199696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com