SwiftUI プレビュー検証
SwiftUI プレビューのスクリーンショットを取得し、UI の問題を検出・修正するループを回します。
クイックスタート
ファイルパス指定 → そのファイルのプレビューを検証。未指定 → *Preview*.swift を検索して対象を選択。
手順
Step 1: 対象ファイルの特定
- ファイルパス指定あり → そのまま使用
- 未指定 →
XcodeGlobで**/*Preview*.swiftや**/*View.swiftを検索して候補を提示
Step 2: ソースコードの確認
XcodeRead で対象ファイルを読み、#Preview マクロの定義を確認する。
- プレビュー定義が複数ある場合は
previewDefinitionIndexInFileで区別 - プレビュー定義がない場合はユーザーに報告
Step 3: ビルド
BuildProject でプロジェクトをビルドする。ビルドが通らなければプレビューは取得できない。
Step 4: プレビューキャプチャ
RenderPreview を呼び出す:
{
"tabIdentifier": "...",
"sourceFilePath": "Sources/Views/ContentView.swift",
"previewDefinitionIndexInFile": 0,
"timeout": 30000
}
- 返されるスクリーンショットを分析する
- 複数のプレビュー定義がある場合は順番にキャプチャ
Step 5: UI 問題の検出と報告
以下の観点でスクリーンショットを確認:
- レイアウト: 要素の重なり、はみ出し、不自然な余白
- テキスト: 文字切れ、フォントサイズの不整合
- 色: コントラスト不足、ダークモード対応
- アクセシビリティ: タップ領域の大きさ、テキストの読みやすさ
Step 6: 修正と再検証(問題があった場合)
XcodeUpdateで SwiftUI コードを修正BuildProjectで再ビルドRenderPreviewで再キャプチャ- 問題が解消するまでループ
ガイドライン
previewDefinitionIndexInFileは 0 始まりtimeoutはデフォルト 30 秒だが、複雑なプレビューでは増やすことを検討- ダークモード用プレビューがある場合はそちらも必ず確認
- プレビューのスクリーンショットはエージェントが視覚的に判断する(画像として返される)