Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Xcode MCPでスクリーンショット撮りを90%自動化する
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Trickart
March 18, 2026
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Xcode MCPでスクリーンショット撮りを90%自動化する
https://love-swift.connpass.com/event/385566/
Trickart
March 18, 2026
More Decks by Trickart
See All by Trickart
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
120
AlarmKitで明後日起きれるアラームアプリを作る
trickart
0
350
External Accessory入門
trickart
0
980
日本語でもいい感じに改行したい!! / Split Japanese sentence for UILabel and SwiftUI Text
trickart
3
4.2k
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
10k
A designer walks into a library…
pauljervisheath
211
25k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
530
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Paper Plane
katiecoart
PRO
2
53k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Paper Plane (Part 1)
katiecoart
PRO
1
11k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Docker and Python
trallard
47
4.2k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
580
Transcript
Xcode MCPで スクリーンショット撮りを 90%自動化する xmsnap — Xcode Preview自動キャプチャCLI trickart 1
自己紹介 名前:trickart 仕事:POSレジアプリ開発 2
スクリーンショット撮影、ダルい… App Store用に全画面キャプチャ 社内ドキュメント用にも必要 デバイス違い、ダークモード対応も… 3
既存の解決策とその限界 XCUITest + fastlane snapshot セットアップが重い テストコードのメンテナンスコストが高い Xcode Previewを手動キャプチャ 1枚ずつ手作業
→ 画面数が多いと非現実的 もっと 手軽に スクショを自動化したい 4
Xcode MCPとは? Xcode 26で導入されたMCPサーバー MCP(Model Context Protocol): AIツールとの標準通信プロトコル JSON-RPC 2.0で外部ツールからXcodeを操作可能
xcrun mcpbridge 経由でstdio通信 ┌──────────┐ JSON-RPC ┌──────────┐ ┌───────┐ │ Client │ ◄────────────► │ MCP │ ◄──────► │ Xcode │ │ │ (stdio) │ Bridge │ │ │ └──────────┘ └──────────┘ └───────┘ 5
Xcode MCPでできること MCPサーバーが提供するツール: ビルド・実行: プロジェクトのビルド、テスト実行 ソースコード操作: ファイルの読み書き、検索 プレビュー: Xcode Previewのレンダリング
ログ取得: ビルドログ出力 今回は プレビューのレンダリング 機能を活用 6
MCPのクライアントはAIだけじゃない 通常のMCPの使い方: AI(Claude, Codex...) → MCP Server → ツール 今回のアプローチ:
普通のCLIツール → MCP Server → Xcode MCPは JSON-RPCベースの汎用プロトコル → AIでなくても使える つまりMCPはJSON-RPCでやり取りできれば何でもつながる! 7
xmsnap Xcode Previewのスクショを自動で全部撮るCLIツール # インストール brew install trickart/tap/xmsnap # 実行(これだけ!)
cd path/to/project xed . xmsnap プロジェクト内の #Preview / PreviewProvider を自動検出 Xcode MCPでレンダリング → スクリーンショット保存 8
出力とオプション # プレビュー一覧を確認 xmsnap --list # 特定ファイルだけ指定 xmsnap ContentView.swift #
テスト・生成ファイルを除外 xmsnap --exclude Tests/ # 出力先指定 xmsnap -o ./screenshots # HTMLギャラリーとして出力 xmsnap --format html 出力形式: default / json / markdown / html 9
デモ:HTMLギャラリー出力 xmsnap --format html で生成されるギャラリー 全スクリーンショットを一覧で確認可能 静的ホスティングすればXcodeを触らないメンバーへの共有にも便利 10
仕組み 1. MCP接続 — xcrun mcpbridge を起動、stdioで接続確立 2. プレビュー検出 —
#Preview / PreviewProvider を XcodeGrep 3. レンダリング — 1つずつ順番に RenderPreview でレンダリング 4. キャプチャ・保存 — レンダリング結果をディレクトリにコピー 11
そういえば残り10% って? 初回にXcodeの設定で mcpbridge の使用を 許可する必要がある(1/4) Settings > Intelligence >
Model Context Protocol > Allow external agents to use Xcode tools をONに 12
プロジェクトをXcodeで開いておく必要あり(2/4) RenderPreview は目的のプロジェクトを開いていないと出来ない xmsnapで xed を叩くようにするか迷ったがプロジェクトを開く時間は マシンやプロジェクト規模によりwait時間が読めないので諦めた 13
デバイス選択(3/4) 選択したデバイスでレンダリングされる iPhone 17ならDynamic Island、iPhone 16eなら真四角 PreviewProvider なら .previewDevice(:) で設定できるが
#Preview だと設定できず 14
Xcodeの許可ダイアログ(4/4) 接続時にXcodeが表示するダイアログ Allowをクリックしなければならない →対策あり! 15
アクセシビリティ権限の許可(4/4) アクセシビリティ機能を使って自動クリック機能を入れている システム設定 > プライバシーとセキュリティ > アクセシビリティ 使っているターミナルアプリ(xmsnapではない)にチェックを入れる →結局一回は手動で行う必要あり… 16
まとめ スクショ撮影の90%は自動化できる時代 Xcode MCP でXcodeをプログラマブルに操作 xmsnapはコマンド(と事前設定)でXcode Previewをキャプチャ 逆に完全には自動化出来ず… CIで使えたらもっと用途が広がるのに… 社内ドキュメント自動更新とかVRTとか
GUI操作をバイパスする方法があったらぜひ教えて下さい!! 17
Thank you! GitHub: trickart/XcodeMCPSnapshooter brew install trickart/tap/xmsnap ref: Giving external
agentic coding tools access to Xcode | Apple Developer Documentation 18