如果你用 fastlane 自动化 iOS 发布,大概率试过 frameit — 这个 fastlane 动作能把原始截图套进设备边框并加上营销文案。它是个聪明的工具,多年来一直是想要带边框 App Store 截图、又不想打开设计软件的开发者的默认选择。
但如果你在搜索 fastlane frameit 替代方案,说明你已经知道那些痛点:新设备没有边框、ImageMagick 安装问题,以及需要反复试错的 JSON 文本排版系统。这篇文章分析 frameit 的短板,以及现代替代工作流长什么样。
frameit 做得好的地方 #
先说公道话。frameit 能自然融入 fastlane 流水线:
- 自动读取
fastlane snapshot生成的截图。 - 可在 CI 中无头运行,每次发布都能重新生成带边框的截图。
- 免费且开源。
如果你的截图很简单 — 一个设备边框、一句标题、纯色背景 — 而且设备支持良好,frameit 仍然够用。
frameit 的不足 #
1. 设备边框跟不上 Apple 的硬件 #
frameit 依赖一个需要维护的设备边框图片目录。每年秋天 Apple 发布新 iPhone,对应边框进入目录通常有延迟,甚至永远不会出现。如果你希望在更新上架的那一周就用最新旗舰机型展示截图,等边框更新就是实打实的成本。
Apple 的要求也不会等人:当前的尺寸矩阵覆盖 iPhone、iPad、Mac、Apple Watch、Apple TV 和 Apple Vision Pro。App Store Connect 现在的要求详见我们的 App Store 截图尺寸完全指南。
2. 对 ImageMagick 的依赖 #
frameit 用 ImageMagick 渲染文字。这意味着要安装并维护一个系统级依赖 — 字体配置、会弄坏渲染的 homebrew 升级、需要额外配置的 CI 镜像。很多 frameit 调试会话的结局是修 ImageMagick,而不是做截图。
3. 用 JSON 排版,靠重跑看效果 #
frameit 的设计决定都写在 Framefile.json 里:内边距、字号、颜色、文字位置。没有实时预览 — 改数字、重跑命令、打开输出、再来一遍。只有一句标题还能忍受;但 10 种语言 × 6 张截图的组合就很慢了,想让文字在不同长宽比下都好看需要大量迭代。
4. 加边框只是其中一步 #
frameit 只负责给图片加框。它不管理标题翻译,不会在本地化文字溢出时提醒你,也不会把结果送进 App Store Connect — 你还得正确配置 deliver,或者手动上传。设计、本地化、导出所有尺寸、按正确顺序上传 — 完整的工作远比加边框大得多。
frameit 替代品应该具备什么 #
根据截图流水线中真正耗时的环节,替代品应该:
- 提供最新设备边框 — 包括最新的 iPhone、iPad、Mac、Apple Watch、Apple TV 和 Vision Pro。
- 可视化反馈 — 直接操作,而不是改 JSON 再重跑。
- 处理本地化 — 按语言管理标题文案,并在 Apple 审核之前发现溢出。
- 按照 Apple 截图规范,从一个设计导出所有必需尺寸。
- 上传到 App Store Connect — 所有平台和语言,顺序正确。
原生替代方案:Screenshot Studio #
Screenshot Studio 是为这个工作流量身打造的原生 Mac 应用,而且能与你现有的 fastlane 工具链很好地配合:
- 保留
fastlane snapshot来捕获原始截图 — 自动截图这件事它仍然是对的工具。 - 把截图拖进 Screenshot Studio,以可视化方式设计带边框的截图组:最新设备边框、背景、标题,即时预览,不用在 JSON 里来回折腾。
- 在应用内本地化标题 — 支持 AI 翻译辅助,导出前就能看到每种语言的渲染效果。详细工作流见如何制作本地化的 App Store 截图。
- 从一个主设计自动导出所有设备尺寸 — 不需要按设备配置导出预设。
- 直接上传到 App Store Connect — 所有平台和语言,顺序正确,无需配置
deliver。
没有 ImageMagick,不用等边框目录更新,也没有需要照看的系统依赖。免费试用,提供一次性买断而非订阅。
frameit vs Screenshot Studio 速览 #
| fastlane frameit | Screenshot Studio | |
|---|---|---|
| 界面 | CLI + Framefile.json |
原生 Mac 应用,可视化编辑器 |
| 预览 | 重跑才能看到 | 实时 |
| 设备边框 | 社区目录,新设备常滞后 | 最新 Apple 设备,随发布更新 |
| 依赖 | Ruby、fastlane、ImageMagick | 无 |
| 本地化 | 自备 .strings,无溢出检查 |
内置语言管理 + AI 翻译 |
| 多尺寸导出 | 按捕获尺寸 | 一个设计导出所有必需尺寸 |
| App Store Connect 上传 | 需另行配置 deliver |
内置 |
| CI 自动化 | 支持 | 不支持 — 交互式设计工具 |
| 价格 | 免费开源 | 免费试用,一次性买断 |
诚实的取舍:frameit 可以在 CI 里无人值守运行;Screenshot Studio 是交互式工具。如果"每次自动构建都重新生成带边框截图"是硬性要求,frameit(连同它的维护成本)仍有一席之地。但如果像大多数团队一样,一年只重新设计几次截图、本地化却很频繁,可视化工作流要快得多。App Store 截图的隐性成本一文有具体数字。
从 frameit 迁移 #
迁移花的时间比一次典型的 frameit 调试还少:
- 保留你的原始截图。 无论哪种方案,
snapshot(或手动截图)的产出都是输入。 - 用模板把版式重建一次 — 背景、边框、标题。
- 导入或重新输入各语言的标题,让应用标出在小尺寸下溢出的文字。
- 导出或上传。 把所有尺寸导出到磁盘,或直接推送到 App Store Connect。
之后,新版本更新截图就是换图、点导出 — 不用再碰 JSON。
结语 #
frameit 在脚本化、CI 优先的时代解决了加边框问题,对简单稳定的配置来说仍然可用。但如果你遇到过边框目录滞后、和 ImageMagick 搏斗过、或者为调 Framefile.json 的数值耗掉一个下午,那么专用的可视化工具就是升级方向:最新边框、实时预览、内置本地化、直接上传。
免费试用 Screenshot Studio,看看下一次截图更新要花多久 — 如果你刚接触这类工具,可以先读什么是 App Store 截图生成器。