SuperAPI AI 工具集

swift-package-demo

设计与创作

查看项目

更新于 10-16 09:56

技能介绍

用途:为 Swift 包 README 添加演示 GIF,或录制 iOS 模拟器画面用于文档。

核心理解:SwiftUI 的 #Preview 宏只在 Xcode Canvas 中运行,无法用 xcrun 录制,因此必须创建一个单独的 Demo App,在 iOS 模拟器中运行后再录制。

主要步骤:

  1. 创建演示目录:mkdir -p demo。
  2. 在 demo/DemoApp/ 新建 iOS App Xcode 工程,通过 File → Add Package Dependencies → Add Local 添加本地包引用(不要用远程 URL,以便测试当前开发代码)。
  3. 启动模拟器:xcrun simctl boot "iPhone SE (3rd generation)",然后 open -a Simulator。
  4. 在 Xcode 中运行 Demo App(Cmd+R),之后开始录制:xcrun simctl io booted recordVideo --codec=h264 demo/raw.mov,按 Ctrl+C 停止。
  5. 转 GIF:资料要求在转换前必须先用 AskUserQuestion 询问尺寸,选择全尺寸或裁剪(去掉状态栏和底部导航),不得自行假设。全尺寸用 ffmpeg 的 fps=12、scale=300:-1、palettegen/paletteuse 滤镜链;裁剪版在此基础上加 crop=in_w:in_h0.55:0:in_h0.12。之后用 gifsicle -O3 --lossy=80 优化。
  6. README 集成:用 img 标签并排展示,间距用   ,每张宽 240-280px。
  7. .gitignore 中忽略 demo/* 但保留 !demo/*.gif。

常见问题:未询问尺寸就转换;试图录制 SwiftUI 预览;出现“No devices booted”需先启动模拟器;Demo App 误用远程包;包变更后 API 不匹配可执行 Xcode → File → Packages → Reset Package Caches;GIF 超过 1MB 时降低 fps(12)与宽度(300px)并用 gifsicle;录制前需先运行 App。

目标尺寸:主视觉演示宽 280-300px、12fps、小于 200KB;功能演示宽 240px、10-12fps、小于 150KB。

限制:资料未提供其他平台或非 iOS 场景的录制方式,也未说明相关工具安装来源。