教程 搜索 / 原生 Mac IDE / 创建 iOS 或 Mac 应用图标
📝 文字 ● 初级 更新于 2026-05-17

创建 iOS 或 Mac 应用图标

应用图标曾经意味着要为每个设备像素尺寸导出十五张 PNG。现代 Xcode 只需要一张——1024×1024 的 PNG——并自动生成其余所有尺寸。本教程介绍如何让这张图片符合 App Store 上架要求、资源目录的使用流程,以及那个会让构建在上传时静默被拒的常见错误。

你可以用三句话让 AI 智能体替你完成这件事("给这个项目添加应用图标,使用 ~/Desktop/icon.png 作为源图片"),通常一次就能成功。本教程存在的意义,是为了当出现问题时——通常是上传被拒——你需要了解资源目录实际期望的格式。一旦你理解了问题的本质,智能体的操作就不再是魔法了。

你将学到

第一步:建立心智模型

1

资源目录是伪装成文件的文件夹

当你在 Xcode 项目导航栏中看到 Assets.xcassets 时,它并非单个文件——而是磁盘上的一个目录。在其中,你添加的每一张"图片"都有自己的子目录,包含实际的 PNG 文件和一个小型 Contents.json,用于告知构建系统哪个文件对应哪种尺寸、缩放比例和设备类型(iPhone、iPad、Mac 等)。

对于应用图标,该目录命名为 AppIcon.appiconset。旧版流程中,它会包含约 15 张覆盖所有设备像素尺寸的 PNG。自 Xcode 14 起,现代流程支持"单一尺寸"模式:只需放入一张 1024×1024 的 PNG,工具链会在构建时自动生成每个较小的变体。你不需要交付 15 个文件——只需一个。

这正是"用这张图片作为应用图标"这类提示词对智能体如此奏效的根本原因——只需写入一个文件,编辑一个 Contents.json

第二步:准备源图片

2

三条规则,其中一条会导致构建被拒

你的 1024×1024 源 PNG 需要满足三个条件:

  • 精确为 1024×1024 像素,且为正方形。不能是 1023×1024,也不能是 2048×2048 缩小版。Xcode 会发出警告但仍会发布;App Store Connect 在上传时若发现不是正方形则会直接拒绝。
  • sRGB 色彩空间。如果你从 Figma 或 Sketch 导出,几乎可以肯定已经是 sRGB。如果从印刷工具导出,可能是 Display P3 或 Adobe RGB——导入前请先转换,否则颜色在设备上会出现偏差。
  • 不含 alpha 通道。这是最隐蔽的问题。App Store Connect 会拒绝任何带有透明度的 iOS 图标——而且是在漫长的等待之后,在上传最后阶段才报错。请在保存前将图片合并到纯色背景上(通常是白色或品牌色)。

另外:不要提前圆角化。iOS 和 macOS 会应用各自的圆角蒙版(不同平台、不同设备家族的圆角半径各有差异)。如果你交付一个已经圆角化的正方形,最终会得到一个"双重圆角"的效果,在所有设备上看起来都不对劲。请交付完整的正方形;操作系统会完成剩余的处理。

alpha 通道被拒是最常见的发布阻断问题。典型症状:你上传到 App Store Connect,等待 10 分钟,收到一封邮件,内容是"Invalid Asset — The app icon … can't contain alpha channels or transparencies"。修复方法是合并图层:在"预览"中打开 → 导出 → 取消勾选"Alpha" → 保存 → 重新导入。或者在终端中执行:sips -s format png --setProperty hasAlpha no icon.png --out icon-flat.png

第三步:快速路径——应用图标生成器(内置 AI)

3

Mobile 菜单 → 应用图标生成器… → 输入提示词或粘贴图片 → 生成

LingCode 提供了一个专用面板,可在一个窗口内完成整个流程——生成源图片、调整为所有必要尺寸、写入资源目录。从菜单栏选择 Mobile → App Icon Generator…

你有两种方式提供源图片:

  • 输入提示词:文本框支持自然语言输入("简约紫色闪电,扁平设计,白色背景"),调用 LingCode 托管的图片生成后端生成 1024×1024 的 PNG。文本框上方的配额标记显示本月剩余的生成次数——免费版/Pro/Max-Pro 各有不同的上限。
  • 拖入主图片:如果你已经有来自 Figma、Midjourney、对话中 generate_image 工具或其他来源的 1024×1024 PNG,点击主图片槽位并选取文件即可。

然后选择目标目录——iOS 槽位指向项目的 Assets.xcassets/AppIcon.appiconset/,Android 槽位指向 app/src/main/res/(关闭不需要发布的平台即可)。点击生成。面板会列出写入的所有文件,以便你确认输出是否落到了正确的文件夹中。

该面板底层使用 LingCode 内置的 AppIconGeneratorService——纯 Core Graphics 实现,无需外部工具。iOS 通道会生成包含所有必要尺寸的完整 AppIcon.appiconset;Android 通道会在每个密度分组下写入 ic_launcheric_launcher_round 和自适应 ic_launcher_foreground(详见 Android 自适应图标教程)。

第四步:或者通过对话完成

4

如果你更倾向于在智能体对话中操作

在项目中打开 Claude 对话,输入:

Add an app icon to this project. Use ~/Desktop/icon.png as the source image.
Use the modern single-size asset catalog flow (one 1024×1024 image).

智能体会将文件复制到 YourApp/Assets.xcassets/AppIcon.appiconset/icon.png,并重写 Contents.json 以声明单个 1024×1024 的通用条目。两处修改都会显示在差异视图中,可以方便地撤销。

还没有源图片?对话本身接入了 Gemini 图像模型的图片生成工具。输入"生成一个 1024×1024 的应用图标:深海军蓝背景上的金色几何太阳,扁平设计",智能体会将结果保存到 <project>/assets/<slug>.png,并在对话中内联引用,方便你迭代。此功能需要你自己的 Gemini API 密钥(设置 → API Keys → Gemini)。满意后,让智能体将其接入资源目录——或打开应用图标生成器面板并指向生成的文件。

验证方法:在 Xcode(或 LingCode 的资源浏览器)中打开 Assets.xcassets,点击 AppIcon。你应该看到图片显示在一个大的单一槽位中,而不是分散在设备专属槽位的网格里。这就确认了单一尺寸模式已开启。

同一个项目中既有 iOS 又有 Mac?单张 1024×1024 图片对两者都适用——构建系统会合成各平台的变体。如果你想要平台专属的图标(Mac 和 iPhone 上显示不同的外观),可以让智能体将资源目录切换回多平台模式,并为每种 idiom 添加独立的源图片。在提示词中加上"我希望 macOS 上使用不同的图标"即可。

第五步:手动添加(了解自动化背后的流程)

5

需要手动操作时

同样的流程,逐步点击完成。当某些设置发生偏移而差异不明显时非常有用。

  1. 在 Xcode 中打开 Assets.xcassets。在左侧边栏选择 AppIcon 条目。
  2. 在右侧检查器(属性)中,将设备设置为 iOS、iPadOS、macOS(根据需要选择)。
  3. 开启单一尺寸(或"iOS Marketing"——取决于 Xcode 版本,二者含义相同)。
  4. 将你的 1024×1024 PNG 拖入出现的单一槽位。
  5. 构建并运行。确认图标出现在 Dock(Mac)或主屏幕(iOS 模拟器)中。

如果槽位提示"Image dimensions don't match expected size",说明源图片不是精确的 1024 正方形。如果提示 alpha 相关问题,请参见第二步的警告框。

第六步:排查失败

6

两种失败模式,各有一个明显症状

如果图标未出现或无法发布,几乎总是下面两种情况之一:

症状原因修复方法
构建并安装成功,但启动台显示通用灰色应用图标 资源目录中有图片,但项目构建设置未将 AppIcon 设为图标来源。 项目 Target → Build Settings → 搜索"ASSETCATALOG_COMPILER_APPICON_NAME"。值应为 AppIcon。若为空,设置它。
App Store Connect 上传被拒,提示"alpha channels or transparencies" 1024×1024 源 PNG 包含 alpha 通道——即使看起来完全不透明,通道本身就是问题所在。 参见第二步的警告框:用 sips 或"预览"的"取消勾选 Alpha"导出来合并图层,替换文件,归档并重新上传。

两种问题用智能体排查都只需 30 秒:将拒绝邮件或启动台症状粘贴到对话中,它会帮你检查 Contents.json 和构建设置。

接下来