用途:在 Apple/Cocoa 项目里建立 Sentry 快照(Snapshot)流程,生成 Apple 快照图片并上传到 Sentry Snapshots。重点是先探测项目已有的快照生成方式,再按顺序选择路由,避免覆盖或破坏既有配置。
主要能力与检测:会检测 Sentry 一方库 SnapshotPreviews,以及 Point-Free 的 swift-snapshot-testing(含 SnapshotTesting、assertSnapshot、Snapshots、TEST_RUNNER_SNAPSHOT_TESTING_RECORD 等标记);同时查找 .xcodeproj、Fastlane/Gemfile 工作流形态,并只检查 SENTRY_AUTH_TOKEN、SENTRY_ORG、SENTRY_PROJECT 是否已设置,不打印密钥值。
路由规则:已有非 SnapshotPreviews 生成器时保留它;已有 SnapshotPreviews 时直接使用;完全没有生成器时默认采用 Sentry 一方 SnapshotPreviews。官方指南建议优先用 Sentry Wizard 的 appleSnapshots 流程,仅在向导不可用、无法非交互解析目标或显式消歧后仍失败时才手动设置。Package-only SwiftPM 场景需停下来询问宿主 App/测试目标,不支持独立 swift test 渲染。
使用方式:按需查阅仓库内参考文档,如 references/snapshots.md、references/snapshot-previews.md、references/wizard-setup.md,以及 GitHub Actions 的 simple、fanout、swift-snapshot-testing 三份 CI 参考。CI 应在生成器就绪后再配置;单模拟器用 github-actions-simple.md,多模拟器/设备家族/矩阵/选择性 CI 用 github-actions-fanout.md。
完成检查:生成器有记录且被保留或正确配置;本地或 CI 测试日志出现快照生成;导出目录含 .png 与可能生成的 .json 边车文件;上传成功并打印 Sentry URL 或快照 id;主分支为全量上传,PR 选择性上传需包含完整图片名清单。限制:具体命令、参数与上传细节需查阅对应参考文档,本资料未提供完整代码示例。