用途
iOS Icon Generator 用于为 iOS/macOS 的 Xcode 项目生成图标资源。它把图标转换为 Xcode 资源目录(asset catalog)可直接使用的 PNG imageset,适用于为项目生成图标资源、在开源图标集中搜索图标、创建 1x/2x/3x 的 PNG imageset、用生产级资源替换占位图标,以及匹配 Xcode 项目中已有图标风格等场景。
主要能力
工具提供两个图标来源,二者输出相同的 Xcode 兼容 imageset:
- Iconify API:275,000+ 个图标,来自 200+ 个图标集,需要联网。适合需要广泛选择、特定风格或开源图标的场景。
- SF Symbols:5,000+ 个 Apple 符号,仅限 macOS,适合 Apple 原生风格和离线使用。
两种方式都会生成完整的 Xcode imageset,结构如下:
<output-dir>/<asset-name>.imageset/
Contents.json
<asset-name>.png # 1x (68px default)
<asset-name>@2x.png # 2x (136px default)
<asset-name>@3x.png # 3x (204px default)
使用方式
第一步:评估需求
确定图标用途、偏好风格、目标颜色和尺寸。如果项目已有图标,先检查其风格,例如查看已有图标的尺寸:
sips -g pixelWidth -g pixelHeight path/to/existing@2x.png
第二步:搜索图标
Iconify API(推荐,选择范围广):
# 搜索所有图标集
$SKILL_DIR/scripts/iconify_gen.sh search "receipt"
# 在指定图标集内搜索
$SKILL_DIR/scripts/iconify_gen.sh search "business card" --prefix mdi
# 列出可用图标集
$SKILL_DIR/scripts/iconify_gen.sh collections
SF Symbols(Apple 原生风格):可浏览 SF Symbols 应用或参考常见符号名,例如文档用 doc.text、doc.fill,收据用 doc.text.below.ecg、receipt,人物用 person.crop.rectangle、person.text.rectangle,相机用 camera、camera.fill,扫描用 doc.viewfinder、qrcode.viewfinder,设置用 gearshape、slider.horizontal.3。
第三步:预览(可选)
# Iconify 预览
$SKILL_DIR/scripts/iconify_gen.sh preview mdi:receipt-text-outline
第四步:生成
Iconify API:
# 基本生成
$SKILL_DIR/scripts/iconify_gen.sh mdi:receipt-text-outline editTool_expenseReport
# 自定义颜色和输出位置
$SKILL_DIR/scripts/iconify_gen.sh mdi:receipt-text-outline myIcon --color 007AFF --output ./Assets.xcassets/icons
选项:--size <pt>(默认 68)、--color <hex>(默认 8E8E93)、--output <dir>(默认 /tmp/icons)。
SF Symbols:
# 基本生成
swift $SKILL_DIR/scripts/generate_icons.swift doc.text.below.ecg editTool_expenseReport
# 自定义颜色、字重和输出
swift $SKILL_DIR/scripts/generate_icons.swift person.crop.rectangle myIcon --color 007AFF --weight regular --output ./Assets.xcassets/icons
选项:--size <pt>(默认 68)、--color <hex>(默认 8E8E93)、--weight <name>(默认 thin)、--output <dir>(默认 /tmp/icons)。
第五步:验证并集成
读取生成的 @2x PNG 进行目视验证;如果未直接输出到资源目录,可复制过去:
cp -r /tmp/icons/<name>.imageset path/to/Assets.xcassets/<group>/
然后构建项目,确认 Xcode 能识别新资源。
脚本参考
- iconify_gen.sh:来源为 Iconify API(275k+ 图标),路径 $SKILL_DIR/scripts/iconify_gen.sh
- generate_icons.swift:来源为 SF Symbols(5k+ 图标),路径 $SKILL_DIR/scripts/generate_icons.swift
常用 Iconify 图标集
- mdi(Material Design Icons):7400+,填充与轮廓变体
- ph(Phosphor):9000+,每个图标 6 种字重
- solar(Solar):7400+,粗体、线性、轮廓
- tabler(Tabler Icons):6000+,一致的描边宽度
- lucide(Lucide):1700+,简洁、极简
- ri(Remix Icon):3100+,填充与线条变体
- carbon(Carbon):2400+,IBM 设计语言
- heroicons(HeroIcons):1200+,Tailwind CSS 配套
全部图标集可浏览:https://icon-sets.iconify.design/
适用场景
适合需要为 iOS/macOS Xcode 项目批量或按需生成图标资源、在大量开源图标中挑选合适风格、或希望使用 Apple 原生符号保持系统一致性的开发者。
限制与注意事项
SF Symbols 来源仅限 macOS 使用;Iconify API 需要联网。工具本身不提供收费、价格或平台信息,资料中暂未提供。使用时应遵循最佳实践:生成前先搜索图标、匹配项目已有风格(尺寸、颜色、字重)、需要多样性时用 Iconify、需要 Apple 一致性时用 SF Symbols、可直接输出到资源目录(--output ./Assets.xcassets/icons)以省去手动复制、提交前务必目视验证 @2x PNG。应避免的反模式包括:不检查项目已有图标风格就生成、项目已有配色却使用默认颜色、尺寸用错(应先检查已有图标)、未经目视验证就提交生成的图标。