Assets.xcassets 中缺少用于 Long-Look 通知的 Apple Watch AppIcon

Apple Watch AppIcon for Long-Look notification is missing in Assets.xcassets

将新版本上传到 Appstore Connect 时,会发出警告 "Missing Icon"。

所以我去了Watchkitapp的资源目录,找不到要添加的长图通知图标?在哪里可以看到简短的通知。我尝试为 watch 创建一个示例新项目并发现相同。

我错过了什么?在哪里添加长看通知的图标?

我能够让我的构建通过验证。

您真正需要做的就是添加四个 png 图标。 Apple Watch 主屏幕 40mm 2x 和 44mm 2x,然后还适用于 Apple Watch Short Look 40mm 2x 和 44mm 2x。所有这四个都在上面的中间一行中显示。

一些可能有用的注释。

1) 我是 运行 Xcode 10.1,但我怀疑 10 也可以。

2) 我的问题是我在一个大项目中有多个资产文件,我为错误的 .xcasset 文件添加了图标。当我查看 WatchApp 目标下的 Warnings 时,我注意到一个提到图像有一个无主父项的警告。单击它可以找到 WatchApp 目标的正确资产文件。 ("unowned" 图像可以安全丢弃)

3) 确保图标图像中没有 alpha 通道。如果是这样,您将收到另一个令人沮丧的构建错误。您可以通过在预览中打开您的 .png 来检查它们是否存在,然后导出图像并查看是否为 alpha 填写了一个复选框。如果是这样,请取消选中它并保存文件,然后使用这些图像。

这是 Xcode 10 的问题,Xcode 9 完全没问题。 这个问题的解决方案是:

  1. 转到 watchapp 扩展中的 xcassets,然后右键单击它转到 finder。
  2. 关闭 Xcode 项目
  3. 将有一个名为 "Contents.json" 的文件。在某些编辑器中打开该文件。
  4. 添加缺少的那些分辨率的 PNG,并记下它们的文件名。
  5. 添加缺少的字典,如 longlook 和 quicklook aka shortlook,并正确输入文件名以匹配您现在添加的 Appicon 名称。
  6. 保存json文件,打开Xcode工程,进入xcassets,就可以看到如下图:

  1. 它将显示为警告,由于 Xcode 10.
  2. 中的问题,这完全没问题
  3. 现在您可以将构建上传到 Testflight,您的构建不会收到任何警告。
  4. 我已附上我的 contents.json 文件和资产文件夹的外观图片,以供您参考。

{
  "images" : [
    {
      "size" : "24x24",
      "idiom" : "watch",
      "filename" : "App-icon-48X48@2x.png",
      "scale" : "2x",
      "role" : "notificationCenter",
      "subtype" : "38mm"
    },
    {
      "size" : "27.5x27.5",
      "idiom" : "watch",
      "filename" : "App-icon-55X55@2x.png",
      "scale" : "2x",
      "role" : "notificationCenter",
      "subtype" : "42mm"
    },
    {
      "size" : "29x29",
      "idiom" : "watch",
      "filename" : "App-icon-58X58.png",
      "role" : "companionSettings",
      "scale" : "2x"
    },
    {
      "size" : "29x29",
      "idiom" : "watch",
      "filename" : "App-icon-87X87.png",
      "role" : "companionSettings",
      "scale" : "3x"
    },
    {
      "size" : "40x40",
      "idiom" : "watch",
      "filename" : "App-icon-80X80@2x.png",
      "scale" : "2x",
      "role" : "appLauncher",
      "subtype" : "38mm"
    },
    {
      "size" : "44x44",
      "idiom" : "watch",
      "filename" : "AppIcon44x44@2x.png",
      "scale" : "2x",
      "role" : "appLauncher",
      "subtype" : "40mm"
    },
    {
      "size" : "50x50",
      "idiom" : "watch",
      "filename" : "AppIcon50x50@2x.png",
      "scale" : "2x",
      "role" : "appLauncher",
      "subtype" : "44mm"
    },
    {
      "size" : "44x44",
      "idiom" : "watch",
      "filename" : "AppIcon44x44@2x.png",
      "scale" : "2x",
      "role" : "longLook",
      "subtype" : "42mm"
    },
    {
      "size" : "50x50",
      "idiom" : "watch",
      "filename" : "AppIcon50x50@2x.png",
      "scale" : "2x",
      "role" : "longLook",
      "subtype" : "44mm"
    },
    {
      "size" : "86x86",
      "idiom" : "watch",
      "filename" : "App-icon-172X172@2x.png",
      "scale" : "2x",
      "role" : "quickLook",
      "subtype" : "38mm"
    },
    {
      "size" : "98x98",
      "idiom" : "watch",
      "filename" : "App-icon-196X196@2x.png",
      "scale" : "2x",
      "role" : "quickLook",
      "subtype" : "42mm"
    },
    {
      "size" : "108x108",
      "idiom" : "watch",
      "filename" : "AppIcon104x104@2x.png",
      "scale" : "2x",
      "role" : "quickLook",
      "subtype" : "44mm"
    },
    {
      "size" : "1024x1024",
      "idiom" : "watch-marketing",
      "filename" : "iTunesArtwork.png",
      "scale" : "1x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  },
  "properties" : {
    "pre-rendered" : true
  }
}