苹果手表上的图像

昨天当我的申请被拒绝时,我遇到了一个问题。 显然,图像并没有显示在实际的Apple Watch上,但是它们正在模拟器中显示。 我什至尝试重置模拟器,并不能复制苹果员工发生的问题。 所以我只是想知道在苹果手表上添加/显示图像的正确方法是什么,以便它们能够在实际的硬件设备上正确显示?

码:

。H

@property (strong, nonatomic) IBOutlet WKInterfaceImage *imageHeliLeft; @property (strong, nonatomic) IBOutlet WKInterfaceImage *imageHeliRight; @property (strong, nonatomic) IBOutlet WKInterfaceImage *imageHeliCenter; @property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsTL; @property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsTM; @property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsTR; @property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsML; @property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsMM; @property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsMR; @property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsBL; @property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsBM; @property (strong, nonatomic) IBOutlet WKInterfaceImage *imageObsBR; 

.m当我实际上以编程方式设置图像

 [self.imageHeliLeft setImageNamed:@"helicopter_1"]; 

其他方面,我使用界面生成器来设置图像

这是答案。 我无法透露为什么我知道这一点,但这是你需要做的。

  1. 从您的Watch App目标中移除所有图片。
  2. 将图像添加到Watch App目标中的图像资产文件。
  3. 通过资产文件中的名称引用图像。

如果您可以在模拟器中看到图像,但它们不在Watch App目标中,并且它们位于资产文件中,则它们将为审阅者工作。

从Xcode 6.3,iOS 8.3开始:

离开图像名称的“.png”部分。 在故事板中看起来很奇怪,显示一个蓝色的“?”,而不是图像缩略图,但可以在模拟器和手表上工作。 上下文菜单中指定PNG并以编程方式指定animation也一样。

如果您要在扩展程序代码中设置图像,则还应将所有图像添加到扩展程序目标。

validation文件名是否正确,图像是否放置在正确的目标资产库中。

WatchKit图像

build议您将图像资源文件放入WatchKit应用程序包(不在WatchKit扩展包中)。 将它们放置在WatchKit应用程序包中,可以使用此类的setImageNamed:方法来指定animation图像。 使用该方法设置它们可以提供更好的性能,无需将用户iPhone上的图像传输到Apple Watch。 其他设置图像的方法必须无线发送您提供给Apple Watch的UIImage对象或图像数据。