Assets.xcassets 中缺少 Apple Watch AppIcon for Long-Look 通知

Posted

技术标签:

【中文标题】Assets.xcassets 中缺少 Apple Watch AppIcon for Long-Look 通知【英文标题】:Apple Watch AppIcon for Long-Look notification is missing in Assets.xcassets 【发布时间】:2018-11-07 06:14:11 【问题描述】:

将新版本上传到 Appstore Connect 时,它会发出“缺少图标”的警告。

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

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

【问题讨论】:

您找到解决方案了吗?现在有这个问题。 是的,我会找到解决方案的。将简要发布答案。 【参考方案1】:

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

    在您的 watchapp 扩展程序中转到您的 xcassets,然后通过右键单击找到查找器。 关闭 Xcode 项目 会有一个名为“Contents.json”的文件。在某个编辑器中打开该文件。 添加那些缺少的分辨率的 PNG,并记下这些分辨率的文件名。 添加缺少的字典,例如 longlook 和 quicklook aka shortlook,并正确键入文件名以匹配您现在添加的 Appicon 名称。 保存json文件,打开Xcode项目,进入xcassets,可以看到如下图:

    由于 Xcode 10 中的问题,它会显示为警告,这完全没问题。 现在您可以将构建上传到 Testflight,并且您的构建不会出现警告。 我已附上我的 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
  

【讨论】:

谢谢。我的文件只是缺少“文件名”行。一旦我添加了我有一个添加图标的地方,这一切都奏效了。【参考方案2】:

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

您真正需要做的就是添加四个 png 图标。 Apple watch 主屏幕 40mm 2x 和 44mm 2x 以及 Apple Watch Short Look 40mm 2x 和 44mm 2x。所有这四个都在上面的中间行中描绘。

一些可能有用的注释。

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

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

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

【讨论】:

以上是关于Assets.xcassets 中缺少 Apple Watch AppIcon for Long-Look 通知的主要内容,如果未能解决你的问题,请参考以下文章

ARKit 图像检测和从 Assets.xcassets 添加图像

从 Assets.xcassets 加载视频

从 Xcode Swift 中 Assets.xcassets 中的文件夹访问图像

Cocoapods:包含资源文件夹 Assets.xcassets 的 pod 出现问题

Assets.xcassets - 通用不工作

从 Assets.xcassets 加载图像时 iOS 应用程序崩溃