无法访问WatchKit应用资产

时间:2016-06-30 10:09:24

标签: xcode swift watchkit watch-os-2 apple-watch-complication

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

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

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

  • 我将png文件放入了watchkit app资产。 XCode创建了一个图像集广告,将图像放入2x广告位。
  • 我从Attribute Inspector复制了名称CircularSmallRingImage42mm
  • 我在最初awakeWithContext()的{​​{1}}方法中添加了以下代码:

    InterfaceController
  • 我重置了Apple Watch Simulator上的内容和设置。

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

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

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

2 个答案:

答案 0 :(得分:3)

根据图像的名称,听起来与复杂化有关。

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

如果复制图像存储在并发症组中,则还需要按组名称引用并发症图像。如,

UIImage(named: "Complication/Circular")

有关详细信息,请参阅Apple Developer论坛上的this thread

答案 1 :(得分:0)

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