ios - 未从 WatchApp Target 获取存储的 UIImage

标签 ios apple-watch

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

But, every time I am getting nil.

最佳答案

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

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

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

检查 Apple Documentation:Section - Using Named Images to Improve Performance以供详细引用。

关于ios - 未从 WatchApp Target 获取存储的 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36459055/

相关文章:

ios - 如何为 iOS 应用程序集成 eSewa 支付网关?

ios - 如何在iOS中使用PHAsset获取图像的纬度和经度?

ios - 从 watch 应用程序向 iOS 应用程序发送消息时,“isReachable”为假

ios - 包含数组对象的字典在将其传递给 WatchKit 扩展时崩溃

swift - 接口(interface)未定义 View Controller 类

ios - 打印 NSMutableURLRequest 内容

iphone - PageViewController 当前索引

ios - 我应该使用多个目标还是单独的 Xcode 项目?

ios - 锻炼期间来自 Apple Watch 的实时传感器数据

ios - 为什么 EmptyView() 不能在带有 SwiftUI 的 WatchOS 上运行?