OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  sfsymbol-generator:Xcode SF Symbol 资源目录生成器

sfsymbol-generator:Xcode SF Symbol 资源目录生成器

 
  automation ·  2026-02-04 20:37:57 · 3 次点击  · 0 条评论  

名称: sfsymbol-generator
描述: 从 SVG 文件生成 Xcode SF Symbol 资源目录 .symbolset。适用于需要通过创建 symbolset 文件夹、Contents.json 和 SVG 文件来添加自定义 SF Symbol(构建时)的场景。


SF Symbol 生成器

使用方法

你可以通过设置 SFSYMBOL_ASSETS_DIR 环境变量来覆盖默认的资源目录位置。

原始 symbolset 生成(无模板注入)

./scripts/generate.sh <symbol-name> <svg-path> [assets-dir]
  • symbol-name: 完整的符号名称(例如 custom.logobrand.icon.fill)。
  • svg-path: 源 SVG 文件的路径。
  • assets-dir(可选): Assets.xcassets/Symbols 目录的路径(默认为 Assets.xcassets/SymbolsSFSYMBOL_ASSETS_DIR 环境变量指定的路径)。

基于模板的 symbolset 生成(推荐)

./scripts/generate-from-template.js <symbol-name> <svg-path> [template-svg] [assets-dir]
  • template-svg(可选): 用于注入路径的 SF Symbols 模板 SVG 文件(默认使用 Assets.xcassets/Symbols 中找到的第一个 .symbolset SVG,否则使用内置的技能模板)。

示例

./scripts/generate-from-template.js pi.logo /Users/admin/Desktop/pi-logo.svg

要求

  • SVG 文件必须包含 viewBox 属性。
  • 使用基于路径的形状(必须使用路径;矩形会被支持并转换,但其他形状应预先转换为路径)。
  • 推荐使用填充形状(无描边),以避免出现细小的渲染瑕疵。

工作流程

  1. 验证 SVG 文件路径和 viewBox 属性。
  2. 计算路径边界,并将其居中放置在 SF Symbols 模板的边距内。
  3. 将路径注入到 SF Symbols 模板(Ultralight/Regular/Black 三种字重)中。
  4. 在资源目录的 Symbols 文件夹内创建 <symbol-name>.symbolset 目录。
  5. 写入对应的 Contents.json 配置文件。
3 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor