跳转至

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: 确认需求

确定图标需求。图标所表示的内容、偏好的样式、目标颜色和尺寸。

如果项目中已有图标,请检查现有样式。

# 既存アイコンのサイズを確認
sips -g pixelWidth -g pixelHeight path/to/existing@2x.png

步骤 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: 预览(可选)

# Iconify プレビュー
$SKILL_DIR/scripts/iconify_gen.sh preview mdi:receipt-text-outline

步骤 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: 确认与集成

  1. 加载生成的 @2x PNG 并进行视觉检查
  2. 如果未直接输出,请将其复制到资源目录。
    cp -r /tmp/icons/<name>.imageset path/to/Assets.xcassets/<group>/
    
  3. 构建项目,确认 Xcode 已识别新资源
前缀 名称 数量 样式
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