xcode について
xcode は mcporter 経由で XcodeBuildMCP を使い、Xcode や Swift の開発を支援するスキルです。ビルド、テスト、シミュレーター操作に対応し、対象を特定してから最新のツールスキーマを確認する手順を示します。
主な機能
- 01プロジェクト、スキーム、シミュレーターを検出
- 02プロジェクトと実行先のデフォルトを設定
- 03ビルド、テスト、シミュレーター操作
- 04最新スキーマでツール引数を確認
活用シーン
- 01Xcode プロジェクトや Swift パッケージのビルドとテスト
- 02シミュレーターやデバイスでアプリを実行
- 03UI 階層を確認して実行時の問題を再現
MCP 対応
このスキルは mcporter 経由で xcodebuildmcp という MCP サーバーを呼び出します。XcodeBuildMCP はプロジェクト検出、ビルド、テスト、シミュレーター操作のツールをクライアントに公開します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bjesuiter/ skills --skill xcodeインストール後、Claude Code で/xcodeを入力して読み込まれたか確認します。
同梱ファイルReadme.md
詳細
XcodeBuildMCP
Xcode や Swift の作業には、mcporter 経由で XcodeBuildMCP を使用します。
bunx mcporter call --stdio "xcodebuildmcp" <tool_name> [args...]
mcporter と xcodebuildmcp はグローバルにインストールされているものとします。ここでは、bunx はインストール済みのバイナリを実行します。信頼できない代替品を取得してはいけません。
環境を確認する
ビルドする前に、対象を特定します。
bunx mcporter call --stdio "xcodebuildmcp" doctor
bunx mcporter call --stdio "xcodebuildmcp" discover_projs workspaceRoot="$(pwd)"
bunx mcporter call --stdio "xcodebuildmcp" list_schemes
bunx mcporter call --stdio "xcodebuildmcp" list_sims
実機で作業する場合は、識別子を推測せず、接続されているデバイスを確認します。Xcode プロジェクト、ワークスペース、Swift パッケージ、シミュレーターの対象、実機、macOS アプリを区別し、対象の種類に合ったツールを選択します。
セッションのデフォルトを設定する
ほとんどのビルドやテストの呼び出しに先立ち、プロジェクトまたはワークスペース、スキーム、デスティネーションのデフォルトを設定します。
bunx mcporter call --stdio "xcodebuildmcp" session-set-defaults \
projectPath="/path/to/App.xcodeproj" \
scheme="App" \
simulatorName="<discovered simulator>"
ワークスペースには workspacePath を使用します。特定のシミュレーターまたはデバイスには、確認済みの識別子を使用します。動作が想定と異なる場合は、デフォルトを確認します。
bunx mcporter call --stdio "xcodebuildmcp" session-show-defaults
無関係なリポジトリや対象に、古いデフォルトを使い回さないでください。
要求されたワークフローを実行する
対象を設定した後、次の手順に従います。
- 対象に合ったシミュレーター、デバイス、macOS、または Swift パッケージ用のツールを選択します。
- ビルドと実行を組み合わせたツールが適用される場合を除き、インストールや起動を試す前にビルドします。
- まず対象を絞ったテストを実行し、必要に応じて範囲を広げます。
- ビルド出力を保持し、対処可能なコンパイラーやテストの失敗を明示します。
- 実行時の証拠が必要な場合は、再現操作の前後でログ取得ツールを使用し、取得後に停止します。
スキャフォールディングでは、保存先、プロジェクト名、プラットフォーム、バンドル識別子を確認します。既存のプロジェクトを暗黙のうちに上書きしてはいけません。
シミュレーターの UI 操作
アプリをビルドして起動し、操作のたびに、まず現在のアクセシビリティ階層を確認します。
bunx mcporter call --stdio "xcodebuildmcp" describe_ui
アクセシビリティ識別子またはラベルを優先します。座標を使う場合は、最新の階層から取得したものに限ります。スクリーンショットから推測したり、UI の変更後に再利用したりしてはいけません。視覚的な証拠が重要な場合は、スクリーンショットを撮ります。画面遷移、ダイアログ、回転などでレイアウトが変わった後は、describe_ui を再実行します。
現在のツールスキーマを使用する
ツール名や引数は、XcodeBuildMCP のバージョンによって変わる場合があります。コピーした一覧に頼らないでください。使い慣れていない操作を行う前に、インストール済みの mcporter のヘルプと XcodeBuildMCP のスキーマを確認します。
bunx mcporter --help
bunx mcporter list --stdio "xcodebuildmcp" --schema
ジェスチャー、シミュレーター設定、録画、ログ、デバイス操作、Swift パッケージ、スキャフォールディング、ユーティリティには、現在のスキーマを使用します。
失敗を診断する
- プロジェクトまたはワークスペースが見つからない場合:確認して、セッションのデフォルトを設定します。
- シミュレーターまたはデバイスが不明な場合:利用可能なデスティネーションを再確認します。
- 環境または統合の問題がある場合:
doctorを実行し、具体的なエラーを確認します。 - インクリメンタルビルドに問題がある場合:現在のスキーマでサポートされている場合に限り、サーバー標準の xcodebuild 優先設定を試します。
- ビルドまたはテストに失敗した場合:MCP の失敗として扱うのではなく、出力されたコンパイラーやテストの証拠を基に診断します。