figma-ios-asset-export

Polar Sponsor
爱发电 赞助
.NET 9.0

通过 Figma REST Images API 导出真实的 Figma 设计节点,生成适用于 iOS 的资源文件。当用户提供指向 iOS 屏幕、UI 实现、视觉评审、设计还原、图标、插画、Logo、空状态页、横幅、背景或任何自定义视觉资源的 Figma 链接时,均应使用此能力。默认将 Figma 节点导出为 @2x / @3x PNG 文件,并存入 Xcode 的 `.xcassets` 目录中;仅在用户明确要求时,才使用矢量 PDF 格式。本技能须避免以手绘图层、近似图形或 SF Symbols 替代

Figma iOS 资产导出: Workflow. 使用脚本/ export figma ios assets. mjs 进行可重复导出

功能概述

Figma iOS 资产导出: Workflow. 使用脚本/ export figma ios assets. mjs 进行可重复导出是一项面向实际任务的技能,主要用于它称为 Figma REST Get /v1/ images/: key end end 并下载返回的资产 URL;prefer。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Figma iOS 资源导出

工作流程

使用 scripts/export_figma_ios_assets.mjs 实现可重复的资源导出。该脚本调用 Figma REST API 的 GET /v1/images/:key 接口,并下载返回的资源 URL。普通 iOS 位图资源优先导出 PNG 格式的 @2x 和 @3x 版本;仅当用户明确要求矢量 PDF,或资源需保留矢量表达形式时,才导出 PDF。

资源优先原则(Asset-First Rule)

当 Figma 链接用于 iOS 实现或视觉对齐任务时,应将 Figma 文件视为自定义图像的唯一事实来源(source of truth)。在用原生绘制、CALayers、SwiftUI 形状、UIKit 视图或 SF Symbols 替换视觉节点前,请先判断该节点是否为可导出资源。

默认情况下,以下情形应导出真实的 Figma 节点:

  • 自定义图标、标签栏/导航栏/操作栏图标、象形图(pictograms)、徽章(badges)、Logo、插画、空状态图、装饰性图片、复杂矢量组、渐变、蒙版、模糊效果图像、背景图,以及任何其像素级细节直接影响设计还原精度的节点。
  • 外观类似图标的 Figma 节点,即使存在功能相似的 SF Symbol。
  • 多图层或需本地化的视觉组合,若通过代码重建将导致近似结果或耗时过长。

仅在以下情形使用原生 iOS 绘制/布局:

  • 文本、简单矩形、分隔线、标准控件、纯色填充、圆角、阴影及可通过代码直接精确复现的布局结构。
  • 用户明确要求替换为 SF Symbols 或原生形状的资源。
  • Figma 节点明显对应一个标准 SF Symbol,且设计规范或用户指定了该符号名称。

若因缺失 token、缺失 node id、权限不足或 Figma API 故障导致导出失败,请明确报告阻塞原因;仅在必要时使用带清晰标记的临时占位符继续流程。切勿静默地以 SF Symbols 或近似图层替代 Figma 原始图像。

Figma 链接分级处理(Figma Link Triage)

当用户粘贴 Figma URL 时:

  1. 从 URL 中提取文件 key 和 node id。
  2. 若 URL 指向屏幕/帧(screen/frame),请检查设计上下文或元数据,识别出应导出的子视觉节点。
  3. 在实现该屏幕前,为每个可导出的视觉节点建立映射关系。
  4. 若当前存在 Xcode 项目,则始终将资源导出至目标应用的 .xcassets 目录中。
  5. 在 iOS 代码中通过生成的资源名称引用已导出的图像。
  6. 说明所有有意不导出的节点,并解释其为何可安全地通过原生方式构建。

前提条件:

  • 具备文件读取权限的 Figma token。可通过 --token-file 参数传入、设置环境变量 FIGMA_TOKEN_FILE,或设置 FIGMA_TOKEN。切勿将真实 token 存储于技能代码或已提交的映射文件中。
  • 支持内置 fetch 的 Node.js 运行时。

映射文件(Mapping File)

创建 JSON 映射文件,顶层结构可为数组,也可为包含 items 字段的对象。若导出至真实应用,推荐使用稳定、具描述性的 asset 名称,并以前缀标明所属功能或页面,例如 home_empty_state 或 profile_nav_settings。

{
  "figmaUrl": "https://www.figma.com/design/FILE_KEY/FileName?node-id=1-607",
  "assetRoot": "/absolute/path/App/Assets.xcassets/FigmaSlices",
  "items": [
    { "asset": "figma_icon_settings", "nodeId": "1:202", "figmaName": "设置" },
    { "asset": "figma_icon_back", "nodeId": "1:476", "figmaName": "左侧图标/ic_back" }
  ]
}

字段说明:

  • figmaUrl:目标 Figma 文件中的任意设计页 URL;脚本将从中提取文件 key 和文件名。
  • assetRoot:可选。若设置该字段,每个 item 将生成 Xcode .imageset 并重写 Contents.json。
  • outDir:assetRoot 的可选替代方案,将导出的原始文件写入指定目录。
  • asset:若使用 assetRoot 则为必填项;在 outDir 模式下也用作导出文件名的主干(stem)。
  • nodeId:必填的 Figma 节点 ID,格式支持 1:202 或 1-202。
  • format:可选,默认映射格式,值为 png 或 pdf;推荐使用默认值 png。
  • scales:可选的 PNG 缩放比例列表,默认为 [2, 3]。

即使用户仅粘贴单个节点 URL,也应创建映射文件,而非手动下载一次性资源。此举可确保资源命名、缩放比例及 .imageset 元数据的一致性与可复现性。

命令示例

导出为 Xcode PNG imageset:

node ~/.codex/skills/figma-ios-asset-export/scripts/export_figma_ios_assets.mjs 
  --mapping /tmp/figma-assets.json

导出为普通 PNG 文件:

node ~/.codex/skills/figma-ios-asset-export/scripts/export_figma_ios_assets.mjs 
  --figma-url "https://www.figma.com/design/FILE_KEY/FileName" 
  --mapping /tmp/figma-assets.json 
  --out-dir /tmp/figma-pngs

导出为矢量 PDF 资源:

node ~/.codex/skills/figma-ios-asset-export/scripts/export_figma_ios_assets.mjs 
  --mapping /tmp/figma-assets.json 
  --format pdf

验证

完成向 .xcassets 导出后,执行以下命令进行验证:

find PATH_TO_ASSET_ROOT -name '*.png' -o -name '*.pdf'
find PATH_TO_ASSET_ROOT -name Contents.json -print0 | xargs -0 python3 -m json.tool >/dev/null

对于 iOS 项目,请使用项目认可的验证命令执行构建验证。PNG @2x 和 @3x 是默认导出格式,因其直接对应 iOS 的缩放因子。PDF 可在 Figma 支持导出矢量图层时保留其矢量特性;但嵌入在 Figma 中的光栅图像,在导出的 PDF 中仍将保持为光栅内容。

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习