1

我需要在我的 WatchOS 应用程序及其复杂性中使用一些图像。如果我将它们放在 watchkit 应用程序目标组内的资产目录中,我无法从我的 WatchOS 应用程序访问它们,但我可以在扩展资产目录中访问它们。

这是测试图像: CircularSmallRingImage42mm@2x.png

这就是我测试可访问性的方式:

  • 我将一个 png 文件放入 watchkit 应用程序资产中。XCode 创建了一个图像集广告,将图像放在 2x 插槽中。
  • CircularSmallRingImage42mm我从属性检查器复制了名称。
  • awakeWithContext()我在初始的方法中添加了以下代码InterfaceController

    if let image = UIImage(named: "CircularSmallRingImage42mm") {
        NSLog("works")
    } else {
        NSLog("doesn't work")
    }
    
  • 我在 Apple Watch 模拟器上重置了内容和设置。

  • 我在 iPhone 6s Plus + Apple Watch 42mm 模拟器上清理并运行了 watchkit 应用程序方案。不工作。
  • 我删除了图像集并重复了该过程,但这次我将图像放在了应用程序扩展的资产目录中。作品。

我的 watchkit 应用组中的资产目录仅针对 watchkit 应用。我的 watchkit 应用扩展组中的资产目录仅针对 watchkit 应用扩展。在我所见的任何地方,人们似乎都建议将静态内容放入与 Watch App 目标捆绑的资产目录中,以便将其存储在手表本身上。

为什么我无法访问图像?难道我做错了什么?watchkit 应用程序包不是存储静态文件的推荐位置吗?

4

2 回答 2

3

根据图像的名称,听起来它与并发症有关。

并发症图像属于 WatchKit 扩展资产目录,因为并发症是您的应用程序的“扩展”。无需加载或运行您的应用程序即可使复杂功能发挥作用。

如果它们存储在并发症组中,您还需要按组名引用并发症图像。例如,

UIImage(named: "Complication/Circular")

有关更多详细信息,请参阅Apple 开发者论坛上的此线程

于 2016-06-30T10:57:12.530 回答
0

iphone 应用程序和手表应用程序的资产完全不同,您无法将图像访问到应用程序资产文件夹以观看扩展程序。您必须添加与手表套件兼容的新图像

于 2017-07-02T07:06:27.110 回答