Xcode 9.2的正确App图标(appicon)命名规范是什么?

18

我从https://makeappicon.com下载了一个包含23个iOS应用图标的集合,它们的文件名如下:

Icon-App-20x20@1x.png
Icon-App-20x20@2x.png
Icon-App-20x20@3x.png
Icon-App-29x29@1x.png
Icon-App-29x29@2x.png
Icon-App-29x29@3x.png
Icon-App-40x40@1x.png
Icon-App-40x40@2x.png
Icon-App-40x40@3x.png
Icon-App-57x57@1x.png
Icon-App-57x57@2x.png
Icon-App-60x60@1x.png
Icon-App-60x60@2x.png
Icon-App-60x60@3x.png
Icon-App-72x72@1x.png
Icon-App-72x72@2x.png
Icon-App-76x76@1x.png
Icon-App-76x76@2x.png
Icon-App-76x76@3x.png
Icon-App-83.5x83.5@2x.png
Icon-Small-50x50@1x.png
Icon-Small-50x50@2x.png
ItunesArtwork@2x.png
当将这些图标拖放到 Xcode > 新建项目 > 单视图应用程序 > Assets.xcassets > AppIcon 窗口时,所发生的只是以下构建警告:

应用程序图标集 "AppIcon" 有 23 个未分配的子项。

这是我以前创建应用程序图标的方式,但显然出了些问题,我一直没有找到任何有用的文档、StackOverflow 问题或答案。我需要做什么才能让 Xcode 将这些 PNGs 接受为应用程序图标呢?
感谢您的阅读。

1
不要使用拖放方式,手动按图标大小添加。 - vp2698
我还没有找到实现这个的方法。但你所做的启发了我去尝试,即在“Assets.xcassets > AppIcon”集合中将单个PNG文件拖放到单个应用程序图标空间中。这似乎是有效的。 - Joseph Beuys' Mum
我的意思是,一次只能做一件事确实很繁琐,但至少它确实有效。 - Joseph Beuys' Mum
2
在xCode 9之前,拖放功能是可以正常工作的,但在更新版本中却无法使用。不知道原因。 - vp2698
1个回答

25

Xcode仅在批量拖放图像文件到任何图像资源(不仅是应用程序图标)中时,考虑以下3个重要点:

  1. Xcode从文件中正确获取的实际图像宽度和高度
  2. 文件名中的比例限定词: @2x, @3x
  3. 文件名中的设备类型限定词: ~ipad, ~car, ~mac, ~ios-marketing, ~watch-marketing

文件名中的其他限定词可能需要区分具有相同比例和设备类型后缀但大小不同的文件(例如,83.5@2x~ipad76@2x~ipad)。

下面是可能的拖放可接受文件名示例。

iOS

// App Icons

app-icon@2x.png // iPhone | 60pt x 60pt | actual size: 120px x 120px

app-icon@3x.png // iPhone | 60pt x 60pt | actual size: 180px x 180px

app-icon~ipad.png // iPad | 76pt x 76pt | actual size: 76px x 76px

app-icon@2x~ipad.png // iPad | 76pt x 76pt | actual size: 152px x 152px

app-icon-83.5@2x~ipad.png // iPad Pro | 83.5pt x 83.5pt | actual size: 167px x 167px 

// Notification Icons

app-icon-20~ipad.png // iPad | 20pt x 20pt | actual size: 20px x 20px 

app-icon-20@2x~ipad.png // iPad | 20pt x 20pt | actual size: 40px x 40px 

app-icon-20@2x.png // iPhone | 20pt x 20pt | actual size: 40px x 40px 

app-icon-20@3x.png // iPhone | 20pt x 20pt | actual size: 60px x 60px 

// Settings Icons

app-icon-29.png // iPhone | 29pt x 29pt | actual size: 29px x 29px     

app-icon-29~ipad.png // iPad | 29pt x 29pt | actual size: 29px x 29px 

app-icon-29@2x~ipad.png // iPad | 29pt x 29pt | actual size: 58px x 58px

app-icon-29@2x.png // iPhone | 29pt x 29pt | actual size: 58px x 58px

app-icon-29@3x.png // iPhone | 29pt x 29pt | actual size: 87px x 87px

// Spotlight Icons

app-icon-40~ipad.png // iPad | 40pt x 40pt | actual size: 40px x 40px 

app-icon-40@2x~ipad.png // iPad | 40pt x 40pt | actual size: 80px x 80px 

app-icon-40@2x.png // iPhone | 40pt x 40pt | actual size: 80px x 80px 

app-icon-40@3x.png // iPhone | 40pt x 40pt | actual size: 120px x 120px 

// App Store

app-icon~ios-marketing.png // 1024pt x 1024pt | actual size: 1024px x 1024px 

Mac

app-icon~mac.png // actual size: 16px x 16px

app-icon-16@2x~mac.png // actual size: 32px x 32px

app-icon-32~mac.png // actual size: 32px x 32px

app-icon-32@2x~mac.png // actual size: 64px x 64px

app-icon-128~mac.png // actual size: 128px x 128px

app-icon-128@2x~mac.png // actual size: 256px x 256px

app-icon-256~mac.png // actual size: 256px x 256px

app-icon-256@2x~mac.png // actual size: 512px x 512px

app-icon-512~mac.png // actual size: 512px x 512px

app-icon-512@2x~mac.png // actual size: 1024px x 1024px | also used for Mac App Store

CarPlay

app-icon@2x~car.png // 60pt x 60pt | actual size: 120px x 120px

app-icon@3x~car.png // 60pt x 60pt | actual size: 180px x 180px

Apple Watch

没有找到符合要求的资格角色格式(例如Companion SettingsQuick Look)和子类型(38毫米42毫米),因此这里唯一可以接受的文件是App Store的文件。

app_icon~watch-marketing.png // 1024pt x 1024pt | actual size: 1024px x 1024px

我似乎无法自动让它起作用。除非Contents.JSON文件为特定图标设置了“filename”参数,否则Xcode无法捕获我的图标。 - nr5
3
非常感谢。我已经创建了一个“AppIcons.command”脚本,可以自动将艺术作品转换为各种缩小后的 iPhone 和 iPad 图标。我的脚本可以在普通的 Mac OS 上执行,无需额外安装(感谢sips)。我希望这对其他人也有用。 - pd95
优秀的总结 - victor_luu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接