【问题标题】:Unable to get values from settings bundle in watchOS 2无法从 watchOS 2 中的设置包中获取值
【发布时间】:2023-03-30 12:57:01
【问题描述】:

我有一个设置包,可用于我的手表应用程序。我正在将我的应用程序迁移到 watchOS 2。有谁知道设置捆绑包应该如何工作? iPhone 是否将值传输到标准用户默认值或共享应用程序组的套件名称的用户默认值?我无法工作,也找不到任何关于设置包应该如何与 watchOS 2 一起工作的文档。

【问题讨论】:

    标签: ios watchkit


    【解决方案1】:

    接受的答案是错误的。 您可以为 WatchOS 2 上的设置包使用共享应用程序组,并通过 NSUserDefaults 访问这些值。无需观看连接。设置起来很棘手,官方文档缺少关键信息。

    最近在我的问题here中发现了如何做到这一点。

    两个重点是:

    1. 您需要在所有 3 个目标(iOS 应用、Watchkit 应用、WatchKit 扩展)上启用共享应用组
    2. 它只适用于真机,不适用于模拟器。您可能需要从两台设备上删除该应用并重新安装才能开始运行。

    【讨论】:

      【解决方案2】:

      在 Watch OS 2.0 中,由于 Watch 应用程序扩展位于 Apple Watch 中(而不是在 iOS 应用程序中,如 Watch 1.0),因此您无法通过用户默认值传输数据,因此您应该改用 WatchConnectivity。 如果您有一个设置包或框架,并且您想在 AW 应用程序扩展和 iOS 应用程序中使用它,您应该在项目的每个目标中导入它。

      【讨论】:

      • 这是否意味着我不能简单地使用 iPhone Watch 应用程序中的设置?如果我确实使用了 iPhone Watch 应用程序中的设置,那么下次用户打开我的 iPhone 应用程序时,我必须通过 WatchConnectivity 将这些值传输到我的手表应用程序?
      • 是的,但不一定当用户打开iOS App时,您可以使用WatchConnectivity在后台传输数据,所以当用户打开iOS App时,数据应该在那里。
      • 啊,是的,所以手表应用程序可以向 iPhone 应用程序询问设置。谢谢你的帮助!!
      • 我在读取设置包数据时遇到问题,即使从我的手机运行也是如此。有什么帮助吗?
      • 您不应该这样做,但您始终可以填写 SO question 设置有关您的问题的更多详细信息
      猜你喜欢
      • 1970-01-01
      • 2015-12-14
      • 2015-10-28
      • 2012-07-22
      • 1970-01-01
      • 2014-08-12
      • 2016-06-09
      • 2016-02-13
      • 1970-01-01
      相关资源
      最近更新 更多