通过 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 REST Get /v1/ images/: key end end 并下载返回的资产 URL;prefer。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
使用 scripts/export_figma_ios_assets.mjs 实现可重复的资源导出。该脚本调用 Figma REST API 的 GET /v1/images/:key 接口,并下载返回的资源 URL。普通 iOS 位图资源优先导出 PNG 格式的 @2x 和 @3x 版本;仅当用户明确要求矢量 PDF,或资源需保留矢量表达形式时,才导出 PDF。
当 Figma 链接用于 iOS 实现或视觉对齐任务时,应将 Figma 文件视为自定义图像的唯一事实来源(source of truth)。在用原生绘制、CALayers、SwiftUI 形状、UIKit 视图或 SF Symbols 替换视觉节点前,请先判断该节点是否为可导出资源。
默认情况下,以下情形应导出真实的 Figma 节点:
仅在以下情形使用原生 iOS 绘制/布局:
若因缺失 token、缺失 node id、权限不足或 Figma API 故障导致导出失败,请明确报告阻塞原因;仅在必要时使用带清晰标记的临时占位符继续流程。切勿静默地以 SF Symbols 或近似图层替代 Figma 原始图像。
当用户粘贴 Figma URL 时:
.xcassets 目录中。前提条件:
--token-file 参数传入、设置环境变量 FIGMA_TOKEN_FILE,或设置 FIGMA_TOKEN。切勿将真实 token 存储于技能代码或已提交的映射文件中。fetch 的 Node.js 运行时。创建 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 中仍将保持为光栅内容。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章