Apple Watch上未显示图像

时间:2015-04-20 06:12:46

标签: ios apple-watch xcode6.3

我的Apple Watch应用程序图像在Apple Watch Simulator上正常显示,就像在模拟器上正确显示的菜单模块菜单图像一样  我将我的应用程序上传到iTunes商店,Apple Reviews app&说它没有在Apple Watch上显示菜单图像。

任何想法为什么菜单图像在Apple Watch Simulator上显示时没有显示在Apple Watch上 我直接从故事板设置菜单图像。我应该以编程方式设置图像吗?请帮我。

6 个答案:

答案 0 :(得分:10)

感谢您的快速帮助!每个人都是对的我们应该更喜欢使用资产目录,我想分享这个问题的一步一步解决方案,这是我从苹果开发者论坛得到的 behrens ---

  1. 如果图像是您已有的静态资源,则它们应驻留在WatchKit应用程序包中。如果它们是动态的,您可以在运行时从WatchKit扩展中设置它们。

  2. 他们必须被命名为@ 2x,是的。

  3. 将它们存储在资产目录中是您最好的选择。不确定为什么你不会这样做。

  4. 如果展开属性检查器,则可以将对资产目录中图像的支持范围缩小到仅限Apple Watch。如果您只有一个版本,请将其放入2x存储桶中。如果您有特定于设备尺寸的图像,请相应地删除它们,然后将38mm尺寸的图像添加到2x存储桶中以进行后备。

  5. 有关详细信息,请访问链接 - link

答案 1 :(得分:9)

您的图片必须位于资产目录中才能在Apple Watch的设备上显示

https://developer.apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/Recipe.html

答案 2 :(得分:5)

我们有两个Assets.xcassets文件。其中一个是Interface.storyboard和捆绑Watch应用程序。第二个是捆绑扩展。如果从代码中设置了图像,则应该在包扩展名中包含此图像。

folder tree

答案 3 :(得分:1)

在代码中使用图像时。使用UIImage(命名为:)初始化程序有一个小问题。它只查看本地包。我们需要将这些图像加载到Images.xcassets中以进行扩展。我们上次制作的WatchKit App文件夹中的文件不会到达这里。

    import WatchKit
    import Foundation

    class InterfaceController: WKInterfaceController {

    enum GrossMarket: Int{
        case egg = 1
        case apple = 2
        case orange = 3
    }

        //preload images
        let egg = UIImage(named: "egg")
        let apple = UIImage(named: "apple")
        let orange = UIImage(named: "orange")
}

    func updateDisplay(activity:Activites){
        switch activity{
        case .egg:
            statusImage.setImage(egg)
        case .apple:
            statusImage.setImage(apple)
        case .orange:
            statusImage.setImage(orange)
        default:
            statusImage.setImage(orange)

        }
    }

答案 4 :(得分:0)

您的图片是否存储在WatchKit应用程序包中?不幸的是,界面构建器允许您从任何捆绑包中选择图像,但只有存储在WatchKit应用程序包中的图像 - 或者由您的扩展程序传输的图像 - 在硬件上运行时才会显示。

答案 5 :(得分:0)

检查图片的分辨率。我尝试至少在Apple Watch Emulation中尝试2 Picture和最低分辨率的显示