Windows をメインで使っていると、iOS アプリ開発の時だけ「Xcode は Mac でしか動かせない」という壁に当たります。この記事では、普段の操作は Windows 側で続けながら、Xcode や iOS Simulator だけを Mac 側で動かすリモート開発環境についてまとめます。
同じように「Windows の作業環境はそのまま使いたい。でも、Xcode のビルドや検証もできるようにしたい」と感じている方は、全体像をつかむメモとして読んでみてください。
どういう構成にするのか
考え方はシンプルです。Windows を操作端末、Mac をビルドホストとして分けます。Windows 側の Codex やエディタから SSH で Mac に入り、Mac 側で xcodebuildmcp mcp を起動します。
こうしておくと、Mac の画面をずっと触らなくても、MCP 経由で Xcode のビルド、Simulator 操作、スクリーンショット取得、デバッグ補助などを呼び出せるようになります。
- Windows: Codex、エディタ、普段の操作環境
- Mac: Xcode、iOS Simulator、XcodeBuildMCP、ビルド処理
- 接続: SSH の stdio 経由で MCP サーバーを起動
- ネットワーク: LAN または VPN 内だけで到達できる形を前提にする
Mac側で準備するもの
まず、Xcode を実行できる状態の Mac を用意します。XcodeBuildMCP の公式ドキュメントでは、macOS 14.5 以降、Xcode 16 以降、npm 経由で使う場合は Node.js 18 以降が要件として案内されています。
Homebrew で入れる場合は、だいたい次のような流れです。実際に使う前に xcodebuildmcp-doctor を通して、Xcode とツールが正しく見えているか確認しておくと安心です。
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
xcodebuild -version
xcodebuild -runFirstLaunch
brew tap getsentry/xcodebuildmcp
brew install xcodebuildmcp
xcodebuildmcp-doctor
Windows側からどう呼び出すか
Windows 側では、SSH の接続先を用意しておき、Codex の MCP 設定からその SSH 接続を呼び出します。公開記事なので実際のホスト名やパスは伏せますが、形としては次のようなイメージです。
[mcp_servers.remote_xcode]
command = "ssh"
args = [
"-T",
"mac-xcode",
"/bin/zsh",
"-lc",
"cd /Users/codexbuild/src/YourApp && xcodebuildmcp mcp"
]
tool_timeout_sec = 600
ここで大事なのは、Windows で Xcode を無理に動かそうとしないことです。Windows は操作する場所、Mac はビルドと Simulator を実行する場所、と役割を分けるとかなり扱いやすくなります。
SSHは小さく安全に使う
この構成で気をつけたいのは、SSH を「何でもできる入口」にしないことです。Mac の Remote Login は便利ですが、インターネットへ直接公開せず、LAN または VPN 内で使うのが基本です。
さらに、専用ユーザー、鍵認証のみ、パスワードログイン無効、rootログイン無効、ポート転送無効、強制コマンドを組み合わせます。AIエージェントに渡す入口は、できるだけ用途を絞るほうが安全です。
# authorized_keys の考え方
restrict,from="<VPN内のWindows側IP>",command="/Users/codexbuild/bin/xcodebuildmcp-mcp.sh" ssh-ed25519 AAAA... codex-windows-xcode-mcp
この形にしておくと、その鍵で接続できても任意のシェルを開くのではなく、決められた MCP 起動スクリプトだけを実行する流れにできます。
実際に組む時のチェックポイント
- Mac側で
xcodebuildmcp-doctorを通してから接続する - プロジェクトごとに workspace、scheme、Simulator を決めておく
- ビルドは時間がかかるので MCP の timeout を短くしすぎない
- SSH鍵はこの用途専用にして、普段のログイン鍵と分ける
- SSHは公開ポートにせず、VPNまたはLAN内に閉じる
まとめ
Windows と Mac を組み合わせたリモート開発環境は、Mac をただ画面共有で操作するより、ビルドホストとして役割を分けたほうがすっきりします。
普段は Windows 側で作業し、Xcode と Simulator が必要な時だけ Mac 側に任せる。そんな形にしておくと、作業環境を大きく変えずに iOS / macOS 開発へつなげられます。これから同じ構成を作る方は、まずは SSH を小さく安全に開けるところから始めるのがおすすめです。

10代のChatGPT利用、家庭で決める5つのルール
Razer Viper V3 Proのバッテリーを色付きドットで表示するトレイアプリを公開しました
AI計算コスト、GPU追加前に測る3指標