未从 WatchApp Target 获取存储的 UIImage

Posted

技术标签:

【中文标题】未从 WatchApp Target 获取存储的 UIImage【英文标题】:Not getting stored UIImage from WatchApp Target 【发布时间】:2016-04-06 18:09:16 【问题描述】:

我已经在 watchApp 目标的图像资产中添加了图像,现在我正在尝试使用这些图像加载一个数组。但是每次我得到的图像都是零。 前任。在 watchApp 目标的图像资源中添加了 A1.png、A2.png、A3.png……。 现在,尝试获取图像名称为...的图像 UIImage *img = [UIImage imageNamed:@"A1"];

But, every time I am getting nil.

【问题讨论】:

【参考方案1】:

问题是您已在 WatchApp 目标中添加图像并尝试通过 API 加载图像,该 API 将搜索 WatchExtention 包中的图像。为了理解这一点,我们需要了解如何在捆绑包中搜索图像以查找 WatchApp 和 WatchExtention。

让我们举个例子,我们有一个WKInterfaceImage 的对象,比如objImageWKInterfaceImage *objImage; 当您使用[objImage setImageNamed:@"abc"]方法时,系统会将图片名称发送给WatchApp,并在WatchApp bundle中而不是Extention bundle中搜索图像。 但是,当您在 Extention 目标(包)中指定图像时,要使用这些图像,需要使用 imageNamed: 方法将它们传输到 WatchApp 目标,该方法将搜索扩展包中的图像,而不是 WatchApp 包中的图像。

因此,如果您想使用imageNamed: API,您还需要在扩展目标中指定您的图像。然而,这有一些它自己的开销,我建议除非必要,否则不要使用。

查看Apple Documentation:Section - Using Named Images to Improve Performance 以获取详细参考。

【讨论】:

@VijayDokrimare - 如果您接受答案,将不胜感激。

以上是关于未从 WatchApp Target 获取存储的 UIImage的主要内容,如果未能解决你的问题,请参考以下文章

未从提取的 API 数据中获取正确的 JSON 格式 [关闭]

未从 Firebase 存储加载的用户图像

文本未从 Laravel 中的 Summernote 存储

Spring Boot 服务未从存储库执行 deleteBy

图像未从 Amazon S3 存储桶加载

函数未从 CSS 模态中的 js 数据加载所有项目