WindowsからMacのXcode環境をリモートで使う構成メモ

Windows to Mac remote Xcode article cover

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 を小さく安全に開けるところから始めるのがおすすめです。

参考