WindowsからリモートのMacでXcodeを使う
Windows版のXcodeはありません。AppleはXcodeをmacOS向けにしか提供しておらず、Xcode 26.6にはmacOS Tahoe 26.2以降が必要です。うまくいくのは、どこかにある本物のMacにXcodeを入れ、その画面をPCに映す方法です。このガイドでは、2つの接続方法を説明します。遅延、キーボード、シミュレータについても扱います。
なぜ仮想マシンではないのか
WindowsでXcodeを検索すると、macOS仮想マシンのガイドが出てきます。AppleのmacOSライセンスはmacOSをAppleブランドのハードウェアに限定しているので、その方法はライセンスの範囲外です。ネットワーク越しに接続する本物のMacなら、この問題を避けられます。Macのレンタルについてライセンスが定めていることもご覧ください。
方法1:プライベートネットワーク経由のVNCビューア
macOSの画面共有はVNCに対応しているので、WindowsのビューアからMacに接続できます。ご自身で設定するMacなら、スイッチはシステム設定の「一般」、「共有」、「画面共有」にあります。VNCビューアがパスワードで画面を操作できるようにするオプションをオンにします。Appleによると、画面共有とリモートマネージメントは同時にオンにできません。
ポート5900を決してインターネットに開けないでください。スキャナーによく狙われるポートです。代わりに、MacとPCをプライベートネットワークに置きます。MacRunでは、すべてのMacがプライベートなTailscaleネットワーク上にあり、公開ポートはありません。PCにTailscaleをインストールし、共有を承認します。次に、RealVNC ViewerかTightVNCで、MacのTailscaleアドレスのポート5900に接続します。画面共有はすでにオンになっています。正確な手順はセットアップドキュメントにあります。
方法2:ブラウザのタブでデスクトップを開く
当社のエージェントプランでは、ポータルに「Open my Mac」ボタンがあります。Macのデスクトップが、ブラウザの新しいタブで開きます。ポータルに表示される画面用のパスワードを入力します。PCに何もインストールする必要がないので、制限の厳しい会社のノートPCでも便利です。各セッションのリンクは、しばらくすると期限が切れます。ボタンをもう一度クリックすれば、新しいリンクが出ます。
キーボードの扱いは、たいていブラウザよりネイティブのVNCビューアのほうが優れています。ブラウザは一部のショートカットを自分で使ってしまいます。Xcodeで長く作業するならビューアを使ってください。どのコンピュータからでもさっと確認するなら、タブのほうが手軽です。
遅延の目安
キー入力はすべてMacに送られ、画面の変化はすべて戻ってきます。そのため距離が効いてきます。当社のMacはニュージャージー州にあります。米国東海岸からなら往復時間は短く、ヨーロッパやアジアからは長くなります。数字はお約束しません。お使いの回線によるからです。ご自身で測ってください。
tailscale ping <your-mac-name> tailscale status
Tailscaleのドキュメントでは、2種類の経路を説明しています。直接接続が最も速い経路です。中継接続はTailscaleのDERPサーバーを経由し、一般に遅くなります。どちらの経路かは、statusの出力で分かります。遅延が最も目立つのは、長いファイルのスクロールのように、画面の広い範囲が変わるときです。リモートの解像度を下げれば送るピクセルが減るので、改善します。
キーボードの割り当て
PCにはCommandキーがないので、ビューアがいずれかのキーをCommandに割り当てます。どのキーかはビューアによりますが、たいていはWindowsキーかAltです。ビューアのキーボード設定を確認してください。それからテキストエディットで、単語をコピーして貼り付けてみます。Alt Tabや、Windowsキー単体など、Windowsが自分で使ってしまう組み合わせもいくつかあります。
Xcodeのショートカットをいくつか覚えれば、マウスに手を伸ばすことはほとんどなくなります。
- Command Bでビルド。Command Rでビルドして実行。
- Command Uでテストを実行。Command ピリオドで停止。
- Command Shift Kでビルドフォルダをクリーン。
- Command Shift Oで、名前を指定して任意のファイルを開く。
作業を分ける:編集はSSH、確認はVNC
すべてをリモートの画面で行う必要はありません。VS CodeのRemote SSH拡張機能は、リモートログインをオンにしたmacOS 10.14以降をホストとしてサポートしています。エディタはWindowsで動くので、入力に画面の遅延はありません。ファイルとターミナルはMac上にあります。
そのターミナルから、xcodebuildでビルドし、テストを実行できます。リモートの画面を開くのは、必要なときだけにします。シミュレータ、Xcodeのデバッガ、Instruments、署名のダイアログなどです。MacRunでは、SSHも画面共有と同じプライベートなTailscaleネットワーク経由です。
シミュレータをリモートで使う
シミュレータはMacの画面上のウィンドウなので、ビューアで見えます。クリックでタップ、ドラッグでスクロールです。MacRunでは、Xcode 26.6にiOS 26.5のシミュレータランタイムがインストール済みです。SSH経由でターミナルから、画面なしで操作することもできます。
xcrun simctl list devices xcrun simctl boot "iPhone 17" xcrun simctl install booted MyApp.app xcrun simctl launch booted com.example.MyApp xcrun simctl io booted screenshot shot.png
デバイス名は、最初のコマンドの出力にあるものを使ってください。PCにつないだiPhoneは話が別です。リモートのMacからは、USBでつながったiPhoneは見えません。代わりにTestFlightでビルドをスマートフォンに入れます。その方法はMacなしでiOSアプリを公開するガイドで説明しています。
この方法が向かない人
遅い回線や遠い回線では、つらい作業もあります。SwiftUIのプレビューで丸1日作業するのが、その一例です。その場合は、机の上のMacのほうが向いています。Appleは標準構成のMac miniを$899で販売しています。当社はWindowsマシンをレンタルしていません。また当社のMacはすべて1か所にあるので、非常に遠くのユーザーは遅延を強く感じます。SLAもありません。
リモートのMacが合うなら、当社のMacは管理者権限付きの専用M6 miniです。2つのプランについては料金ページをご覧ください。
よくある質問
Windows 11にXcodeをインストールできますか?
+
いいえ。AppleはXcodeをmacOS向けにしか提供しておらず、Xcode 26.6にはmacOS Tahoe 26.2以降が必要です。実際に使える方法は、Windowsからリモートデスクトップで操作する本物のMacです。
WindowsからMacに接続するには何を使いますか?
+
RealVNC ViewerやTightVNCなど、どのVNCビューアでもmacOSの画面共有に接続できます。開いたポートではなく、Tailscaleのようなプライベートネットワーク経由で使ってください。デスクトップをブラウザのタブで提供している事業者もあります。
PCからMacを操作するとき、Commandキーはどれですか?
+
ビューアによって決まります。たいていはWindowsキーかAltです。キーボード設定を確認し、テキストエディットでコピーと貼り付けを試してください。
リモートのMacで、自分のiPhoneを使ってテストできますか?
+
USB経由ではできません。リモートのMacからは、PCにつないだスマートフォンが見えないからです。ビルドをTestFlightにアップロードし、そこからスマートフォンにインストールしてください。