iOS 图标生成器¶
从两种来源生成用于 Xcode 资源目录的 PNG 图标图像集。
激活时机¶
- 为 iOS/macOS Xcode 项目生成图标资源
- 在整个开源图标集中搜索图标
- 创建用于资源目录的 PNG 图像集(1x、2x、3x)
- 将占位符图标替换为生产质量资源
- 匹配 Xcode 项目中现有的图标样式
核心原则¶
1. 两种来源,一种输出格式¶
两种来源都会生成相同的 Xcode 兼容图像集。请根据需要选择。
| 来源 | 图标数量 | 要求 | 最佳用途 |
|---|---|---|---|
| Iconify API | 200 多个图标集,275,000 多个图标 | 互联网 | 广泛选择、特定样式、开源图标 |
| SF Symbols | 5,000 多个 Apple 符号 | 仅限 macOS | Apple 原生样式、离线使用 |
2. 始终匹配现有样式¶
在生成之前,请检查项目中现有图标在尺寸、颜色和字重方面的一致性。
3. 输出结构¶
两种方法都会生成完整的 Xcode 图像集。
<output-dir>/<asset-name>.imageset/
Contents.json
<asset-name>.png # 1x(デフォルト 68px)
<asset-name>@2x.png # 2x(デフォルト 136px)
<asset-name>@3x.png # 3x(デフォルト 204px)
使用示例¶
步骤 1: 确认需求¶
确定图标需求。图标所表示的内容、偏好的样式、目标颜色和尺寸。
如果项目中已有图标,请检查现有样式。
步骤 2: 搜索图标¶
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 |
步骤 3: 预览(可选)¶
步骤 4: 生成¶
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)
步骤 5: 确认与集成¶
- 加载生成的 @2x PNG 并进行视觉检查
- 如果未直接输出,请将其复制到资源目录。
- 构建项目,确认 Xcode 已识别新资源
热门 Iconify 图标集¶
| 前缀 | 名称 | 数量 | 样式 |
|---|---|---|---|
mdi |
Material Design Icons | 7,400 多个 | 填充 + 轮廓变体 |
ph |
Phosphor | 9,000 多个 | 每个图标 6 种字重 |
solar |
Solar | 7,400 多个 | Bold、Linear、Outline |
tabler |
Tabler Icons | 6,000 多个 | 一致的描边宽度 |
lucide |
Lucide | 1,700 多个 | 简洁、极简 |
ri |
Remix Icon | 3,100 多个 | 填充 + 线条变体 |
carbon |
Carbon | 2,400 多个 | IBM 设计语言 |
heroicons |
HeroIcons | 1,200 多个 | Tailwind CSS 的配套图标 |
查看全部:https://icon-sets.iconify.design/
脚本参考¶
| 脚本 | 来源 | 路径 |
|---|---|---|
iconify_gen.sh |
Iconify API(275,000 多个图标) | $SKILL_DIR/scripts/iconify_gen.sh |
generate_icons.swift |
SF Symbols(5,000 多个图标) | $SKILL_DIR/scripts/generate_icons.swift |
最佳实践¶
- 生成前先搜索 -- 浏览可用图标以找到最佳图标
- 匹配现有项目样式 -- 在生成新图标之前,检查现有图标的尺寸、颜色和字重
- 需要多样性时使用 Iconify -- 可以从 200 多个图标集中找到所需样式
- 需要 Apple 一致性时使用 SF Symbols -- 与系统 UI 完全一致
- 直接生成到资源目录 -- 使用
--output ./Assets.xcassets/icons以省略手动复制 - 进行视觉检查 -- 提交前务必预览 @2x PNG
反模式¶
- 在未检查现有项目图标样式的情况下生成图标
- 项目已定义调色板时仍使用默认颜色
- 以错误尺寸生成(先检查现有图标)
- 未进行视觉检查就提交生成的图标
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC