跳到主要内容

一张 1024 图生成全部 App 图标:在 VS Code 里管理 App 图标和图片资源

在 VS Code 里用快蝎插件打开 Assets.xcassets,一张 1024×1024 图生成全部 App 图标尺寸,管理图片集 @2x/@3x、颜色集,提交前检查资源问题。

iOS App 图标现在只需要一张 1024×1024 的图:在 VS Code 里装好免费插件快蝎(KXApp),打开工程里的 Assets.xcassets,右键 App 图标选「用一张 1024×1024 图生成全部尺寸…」,选图后所有槽位一次填满。图片集、颜色集也能在同一个资源目录编辑器里新建和管理,保存的仍是 Xcode 的格式。这篇讲图标生成、单尺寸图标、图片集的 @1x/@2x/@3x、颜色集和提交前检查,截至 2026 年 10 月,适用 Xcode 16 及以上。

开始前准备:Mac 上已安装 Xcode,VS Code 或 Cursor 里装好快蝎插件(扩展视图搜索 kxapp,详见安装页),并打开了你的 Xcode 工程文件夹。

打开资源目录

在资源管理器里右键 Assets.xcassets 文件夹选「kxapp: 打开资源目录」,或打开其中的 Contents.json,会用资源目录编辑器打开(直接双击 Assets.xcassets 只会展开文件夹):左边是条目树,右边编辑选中的条目,顶部工具栏有「筛选资源」「+ 新建」「编译检查」「以文本方式打开」。想看原始的 Contents.json,点工具栏的「以文本方式打开」。

在 VS Code 里用资源目录编辑器管理 App 图标和图片

用一张 1024 图生成全部 App 图标

  1. 在条目树里右键 AppIcon(没有的话点工具栏的「新建」›「App 图标」,或在条目上右键新建)。
  2. 选「用一张 1024×1024 图生成全部尺寸…」。
  3. 选一张 1024×1024 像素的 PNG,所有尺寸的槽位一次填满。

图片的要求以 Apple 为准:正方形、1024×1024 像素,App Store 图标不能有透明通道,圆角由系统加,不要自己画。参考 App icons(Human Interface Guidelines)。

单尺寸图标和旧的多尺寸图标

Xcode 14 起,iOS App 图标可以只放一张 1024×1024 的图,构建时由 Xcode 生成其他尺寸。旧工程里还是一格一格的多尺寸图标时,右键选「转换为单尺寸图标」即可,和在 Xcode 里把 Size 改成 Single Size 效果一样。

不打开资源目录,直接设置图标

在 Xcode 工程视图里右键 App 类型的 target,选「kxapp: 用图片设为应用图标…」,选一张图片:插件按 target 已有的应用图标名(默认 AppIcon)找到或新建图标集并把图填好,不会改 target 的构建设置;工程还没有资源目录时会新建一个并加进 target。适合新工程第一次放图标。

其他平台的图标

右键 App 图标选「添加平台…」可以加 iOS、iOS(全部尺寸)、macOS、watchOS、watchOS(全部尺寸),列表里只显示还没有的平台;另有「新建 App 图标(visionOS)」「新建 App 图标与顶架图(tvOS)」。Icon Composer 做的 .icon 图标文档也能直接打开,编辑组、图层和填充,预览任意、深色、着色几种外观,详见可视化编辑器指南。

在 VS Code 里编辑 Icon Composer 图标文档

图片集:@1x、@2x、@3x

  1. 右键条目树选「新建图片集」,起个名字(代码里用这个名字取图)。
  2. 把图片拖进对应的槽位:iPhone 现在主要用 @2x 和 @3x。
  3. 要替换某一张,把新图拖到槽位上,或点击槽位重新选;要去掉,点槽位上的 ×。
槽位 用在哪里 示例:44pt 的图标
@1x 很少再用到 44×44 像素
@2x 大部分 iPhone、iPad 88×88 像素
@3x Plus / Pro Max 等高分屏 iPhone 132×132 像素

用 PDF 或 SVG 矢量图时可以只放一张,在右侧属性面板的「倍率」里设为「单一倍率」。代码里取图:

1Image("Logo")                 // SwiftUI
2UIImage(named: "Logo")        // UIKit

颜色集和其他条目

条目 新建方式 用途
颜色集 右键「新建颜色集」 定义命名颜色,可分浅色 / 深色外观;代码里 Color("Brand")
数据集 右键「新建数据集」 放 JSON 等数据文件,用 NSDataAsset 读取
符号图片集 右键「新建符号图片集」 自定义 SF Symbols 风格的符号
文件夹 右键「新建文件夹」 分组整理条目

还没有资源目录的工程,在命令面板运行「kxapp: 新建资源目录…」:新建时会自动加进 target 的资源阶段,不用回 Xcode 手动添加。

提交前检查

打开资源目录编辑器后,点工具栏的「编译检查」,或在命令面板运行「kxapp: 编译检查资源目录」(只在资源目录编辑器处于活动状态时出现),选好平台后插件用 actool 编译一遍,问题列在「问题」面板,提前发现图标缺尺寸、图片格式不对等问题,不用等构建或上传时才报错。

常见问题

现在还需要准备十几种尺寸的 App 图标吗?

不需要。Xcode 14 起 iOS 图标用一张 1024×1024 的图即可;需要多尺寸时,用「用一张 1024×1024 图生成全部尺寸…」一次生成。

改了图标,手机上还是旧图标怎么办?

系统会缓存图标。先删掉手机或模拟器上的 App,再按 ⌘R 重新运行;仍不对时用 Xcode 工程视图「…」里的「清理构建目录」后重新构建。

新建资源目录或添加图片时提示需要安装组件?

修改工程、添加资源需要 xcodeproj 组件,第一次用到时插件会提示一键安装,也可以在终端运行 gem install --user-install xcodeproj。

在 VS Code 里改的资源,Xcode 打开有区别吗?

没有。编辑器保存的就是 Xcode 的 Contents.json 格式,回到 Xcode 打开完全一样。