iOS上架利器|App Store Snapshot Generator批量生成App Store规范截图
摘要:iOS应用上架App Store时,需要准备多套不同设备分辨率截图,手动调整尺寸非常耗费时间。本文介绍开源macOS工具 appstore‑snapshot‑gen ,SwiftUI原生开发,一键批量把普通图片转为App Store Connect要求的截图尺寸,提升上架素材制作效率。
项目地址:https://github.com/confuse‑ios/appstore‑snapshot‑gen
一、背景痛点
做iOS App上架的同学应该深有体会:App Store Connect对截图分辨率有严格硬性要求,iPhone、iPad分别有竖屏、横屏多种规格。
传统做法:
- 截图导出后用PS/Figma逐个改尺寸、裁剪;
- 很容易搞错像素规格,上传被后台驳回;
- 如果有多张截图素材,重复机械操作,效率低下。
市面上部分在线截图工具存在图片上传云端、隐私泄露风险,部分付费工具成本高。而 App Store Snapshot Generator 是本地运行的macOS原生SwiftUI开源工具,所有图片处理全部在本地完成,可批量输出符合苹果规范的截图文件。
二、工具基础信息
该项目是macOS端原生SwiftUI应用,专门用来批量转换图片为App Store Connect所需设备截图尺寸。
系统环境要求
- 运行系统:macOS 12.0 及以上
- 编译环境:Xcode14.0及以上
- 开发语言:SwiftUI
⚠️注意:项目目前没有发布Release版本,需要自行clone源码,使用Xcode编译运行。
三、核心功能
-
多种导入方式
支持选择输入文件夹、多选图片文件,也支持拖拽图片/文件夹到应用,批量处理多张素材。
-
内置全套设备尺寸
内置iPhone、iPad各英寸规格竖屏、横屏尺寸,可自由勾选需要导出的规格,也支持一键全选iPhone、iPad或者全部尺寸。
默认勾选苹果强制必填两项尺寸:
| 设备 | 方向 | 像素 |
|---|---|---|
| iPhone 6.9" | 竖屏 | 1320 × 2868 |
| iPad 13" | 竖屏 | 2064 × 2752 |
- 多种图片缩放模式
- 居中裁剪填充(默认)
- 等比适应(画面完整,会留边)
- 拉伸填充
-
结构化输出目录
生成文件会按照源图名称建立子文件夹,每个文件夹内存放对应各设备尺寸PNG截图,目录结构示例:输出目录/
├── screenshot‑1/
│ ├── iPhone‑6.9in‑portrait‑1320x2868.png
│ └── iPad‑13in‑portrait‑2064x2752.png
└── screenshot‑2/
└── ... -
实时进度展示
批量导出的时候,界面实时显示处理进度,方便跟踪大量图片处理状态。
四、编译与使用教程
1. 克隆源码
bash
git clone [https://github.com/confuse](https://github.com/confuse)‑ios/appstore‑snapshot‑gen.git
cd appstore‑snapshot‑gen
2. Xcode编译运行
打开项目工程文件
open AppStoreSnapshot.xcodeproj
快捷键 ⌘+R 直接编译运行App。
如果需要打Release正式包,可以使用命令行编译:
bash
xcodebuild -project AppStoreSnapshot.xcodeproj -scheme AppStoreSnapshot -configuration Release build
3. 操作步骤
- 运行编译好的macOS App;
- 导入截图素材:选择输入目录,或者直接拖拽图片/文件夹;
- 设置输出目录,勾选需要的设备截图尺寸;
- 选择图片缩放适配模式;
- 点击「批量生成截图」,等待处理完成,直接去输出目录拿PNG文件,就可以上传App Store Connect。
五、项目代码结构
AppStoreSnapshot/
├── AppStoreSnapshotApp.swift # 应用入口
├── Views/ContentView.swift # 主界面UI
├── ViewModels/AppViewModel.swift # 业务状态、交互逻辑
├── Models/AppStoreScreenshotSpec.swift # 设备尺寸规格定义
└── Services/SnapshotGenerator.swift # 图片处理、批量导出核心服务
代码分层清晰,如果需要新增自定义尺寸、拓展功能,开发者可以直接修改Models下面的规格文件进行二次开发。
六、开发上架配套工作流
截图只是上架第一步,完整iOS上架流程可以参考这套组合链路:
使用本工具批量生成App Store截图 → iOS代码混淆加固 → TestFlight内测分发 → App Store正式提审上架
- 截图素材:appstore‑snapshot‑gen生成分辨率合规截图;
- 代码安全加固:针对Swift/Objective‑C/Flutter等项目做混淆加固,规避4.3、2.3.1等审核坑;
- 内测分发:TestFlight渠道内测,无需企业证书,避免掉签问题;
- 正式提审:完成包体校验,提交App Store审核发布。
七、小结
appstore‑snapshot‑gen适合iOS独立开发者、小团队,解决上架截图反复调整分辨率的痛点。本地SwiftUI原生应用,不上传原图到第三方服务器,保障素材安全。
不足之处:目前没有编译好的二进制Release包,需要开发者本地Xcode编译使用。对于高频上架的团队,可以基于源码二次开发,结合fastlane实现自动化截图流水线。
标签: iOS上架 App Store SwiftUI macOS工具 App Store Connect