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 添加图像
从 Xcode Swift 中 Assets.xcassets 中的文件夹访问图像