2015-04-14 30 views
4

我昨天遇到了一个问题,当我的申请被拒绝。显然这些图像并没有显示在实际的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"]; 

其他明智的,我使用的界面生成器设置图像

+0

我不能回答你的问题,但我认为你应该已经告诉你是如何做到的,所以如果他们这样做是不同的人可以点出。至少你可以尝试。 关于_correct_方式,我建议你第一次重新阅读你在苹果文档中看到的内容,并确保你遵循了他们的指导方针。 –

+0

你有没有混合大小写的名字。硬件最有可能具有区分大小写的文件系统,而Sim不区分大小写。即在硬件上'bunny.png!=兔子。png' –

回答

0

验证文件名是否正确,并将图像放置在我的位置n正确的目标资产库。

WatchKit Images

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

+0

仅供参考,如果您的图像不在Watch App套件中的图像资源中,它们只能在模拟器中运行。 –

2

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

  1. 删除观看应用目标的所有图像。
  2. 添加图像这是您的观看应用目标的图像资源文件。
  3. 通过资产文件中的名称引用图像。

如果您可以在模拟器中看到图像,但它们不在您的Watch App目标中,并且它们位于资产文件中,那么它们将对审阅者有效。

+0

我实现了这一点,并且到目前为止所有内容都显示在模拟器中。希望这些图像可以继续在硬件上显示。 – bolencki13

+0

我发现当我从我的Watch App目标中删除我的图像(.png和.jpg)文件时,图像仍然显示在模拟器中,因为它们位于图像资产文件中,图像在真实设备上工作。 –

+1

使用imageNamed时,应始终避免使用图像扩展,以便选择合适的资源(@ 2x,@ 3x等)。尽管他在他的例子中这样做了。如果苹果会把我的该死的手表寄给我,我可以为你测试。 ;-) –

2

作为Xcode的6.3,8.3的iOS的:

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

+0

我已经验证了Xcode 6.3.1中的接口控制器的这种解决方法。 (通过指定的扩展名,Glance控制器看起来很好。) – AlexD

2

如果你设置你的扩展代码的图片,也应该所有的图像添加到扩展目标了。