Xcode 27 Device Hubのワイヤレス実機デバッグは、Macと端末が同じWi-Fiネットワーク上で互いを検出できる場合に進めてください。インターネット越しに別ネットワークの端末を直接ペアリングする機能ではありません。今週は、まずネットワーク条件を記録し、ペアリングから実アプリの起動、切断後の再接続までを順に検収しましょう。
この記事は、Xcode 27でiPhone、iPad、Apple Watchを接続する開発者、モバイルQA、CI担当者向けです。
遠隔Macを開発環境やビルドノードに使う場合も、実機とのネットワーク到達性を確認してから役割を決められます。
最終更新:2026年10月24日。Xcode 27のリリース情報と、AppleのDevice Hub、Developer Mode、実機実行に関する現行資料を照合しています。(Xcode 27リリースノート)
まず範囲を分ける:Device Hub、シミュレーター、遠隔Mac
検収対象は、端末の発見とペアリングだけではありません。実際のアプリを端末にインストールして起動し、デバッグを行い、切断後に再接続できるところまでを一つの流れとして確認します。ただし、この確認は自動化された実機CI全体の構築とは別です。
| 対象 | 確認できること | それだけでは確認できないこと |
|---|---|---|
| Device Hubでの実機接続 | 対象端末の発見、ペアリング、実機へのアプリ実行 | CI全体の自動化や、別ネットワーク越しの接続 |
| シミュレーター | 仮想端末上での画面・機能・テスト動作 | 実機固有の挙動や実機とのペアリング |
| 遠隔MacへのSSH・画面接続 | Macへのログインや開発作業 | そのMacから実機を発見・接続できること |
Appleの案内では、Device HubのネットワークペアリングはMacとデバイスが同じWi-Fiネットワーク上にあることを前提としています。したがって、遠隔デスクトップが使える、あるいはSSHが通るというだけで、遠隔Macと手元のiPhoneも接続可能だとは判断できません。(デバイスとMacのペアリング条件)
準備段階:Xcode・OS・ネットワークを記録する
作業を始める前に、実際に起動するXcodeのバージョン、端末のOS、対象プラットフォームを記録してください。対応条件は固定値を思い込みで当てはめず、Appleのシステム要件とXcode 27のリリースノートで照合します。Xcode 27.1 RCなど、正式版ではない情報を正式版の動作条件として扱わないようにします。(Xcodeのシステム要件、Xcode 27リリースノート)
次に、Macと端末が同じWi-Fiネットワーク上にあるか、双方から検出できるかを確認します。訪問者向けWi-Fiやネットワーク分離、管理対象端末のポリシーが関係する可能性はありますが、表示だけから特定の原因と断定はできません。ネットワーク構成と、必要なら有線での確認経路を記録しておきましょう。
| 検収対象 | 先に記録する項目 | 合格判断の目安 |
|---|---|---|
| 開発環境 | Xcodeの実バージョン、MacのOS、対象プラットフォーム | Appleの現行資料で対応条件を確認できる |
| 端末 | 機種、OS、端末側に表示された確認・許可 | 必要な信頼確認や開発者向け許可が完了している |
| ネットワーク | Macと端末の接続先、同一Wi-Fiか、制限の有無 | Device Hubで検出でき、接続条件を説明できる |
| 代替経路 | 有線接続の可否、利用した場合の結果 | 無線側の問題と端末認識の問題を切り分けられる |
ペアリング段階:検出と端末側の許可を分ける
Device Hubを開き、Appleの案内に沿って対象のiPhone、iPad、またはApple Watchを選びます。ペアリング中に端末側で確認や許可を求められた場合は、その表示と完了状態を記録してください。端末が一覧に現れない場合は、最初にネットワーク条件と有線接続の確認を行い、表示されたエラーを残します。原因を推測で決めて、設定変更を重ねないことが重要です。
ペアリング後は、Developer Modeが必要な端末か、端末側で有効化と再起動後の確認が必要かを、Appleの手順で確認します。Device Hubに表示されること、ペアリング済みであること、開発アプリを実行できることは別々の状態です。端末側の確認が終わっていない段階で、Xcodeの不具合と結論づけないでください。(Developer Modeの有効化手順)
実機実行段階:一覧表示ではなくアプリ起動まで検収する
プロジェクトを開き、対象のschemeとペアリング済みの実機を実行先に選びます。ビルドが成功したかに加え、アプリが端末にインストールされ、起動し、デバッグセッションを開始できるかを確認してください。端末が一覧にあるだけでは、この工程を通過した証拠になりません。
エラーが出た場合は、配線やネットワークの問題と決めつけず、どの段階で止まったかを分けます。端末が見つからないなら検出、実行許可を求められるなら端末側の認証、インストールや起動で失敗するなら署名・プロビジョニングも確認対象です。端末登録が必要な配布・署名の構成では、Appleのデバイス登録と署名関連の資料を参照してください。(実機・シミュレーターでアプリを実行する手順、署名とプロビジョニングプロファイルの解説、デバイスを登録する手順)
記録には、ビルド結果、端末での起動結果、Xcodeのエラー全文を残します。署名エラーとペアリングエラーを同じ「実機接続失敗」にまとめず、再検証時に同じ工程を比較できる形にしてください。
よくある確認事項
ワイヤレス接続の前提
Appleの説明にある同一Wi-Fiという条件を確認します。インターネット上でMacにログインできることは、端末とのネットワークペアリングを証明しません。Wi-Fiの制限や管理ポリシーを変更できない場合は、ネットワーク管理者に確認するか、有線経路で切り分けます。
Device Hubに端末が出ない場合
XcodeとOSの対応条件、Macと端末の接続先、端末側の確認待ちを順に点検します。有線接続で認識するかも比較し、エラーの表示内容と発生段階を保存します。原因が特定できない段階では、ネットワーク機器やXcodeのどちらか一方のせいと決めつけません。
ペアリングとDeveloper Mode
Device Hubでのペアリング後も、実機で開発アプリを動かすために端末側のDeveloper Modeや確認操作が必要になる場合があります。該当端末のOSに合ったAppleの手順を確認し、端末上の操作が完了したことを記録してから再実行します。
遠隔Macからのワイヤレスデバッグ
遠隔Macと実機が同じWi-Fi上で相互に検出できるかを、実際の接続で確認する必要があります。ホストへSSH接続できることだけでは条件を満たしません。検証できない場合は、ローカルMacで実機を確認し、遠隔Macではビルドやシミュレーターを担当させてください。
切断後の再検証:接続復旧とビルド復旧を別にする
接続が一度成立したら、ネットワークの切り替えやMac・端末の再接続後に、Device Hub上で端末が再び利用可能かを確認します。必要に応じてペアリングをやり直し、端末側の許可状態も見直してください。接続が戻ったことと、中断したビルドやテストが自動的に再開することは別の確認項目です。
注意:遠隔Macでは、画面共有やSSHの復旧と、Device Hubによる実機接続の復旧を同じチェック項目にしないでください。前者が戻っても、Macと端末のネットワーク条件が変わっていれば、実機は再検出されないことがあります。
最終判定:証拠に応じて実機作業の配置先を決める
検収記録には、Xcodeと端末OSのバージョン、ネットワーク構成、ペアリング方法、端末側の許可状態、アプリのインストール・起動結果、切断後の復旧結果を含めます。実機で確認できた項目と、シミュレーターだけで確認した項目を分けて記録してください。シミュレーターのテスト通過を、実機ペアリングや実機受け入れの証明として扱うことはできません。
| 検収結果 | 作業の置き場所 | 次の判断 |
|---|---|---|
| ローカルMacで発見・実行・再接続を確認 | ローカルMacで実機検証 | 同じ手順を記録し、変更後も再現できるか確認 |
| 遠隔Macでも端末との実接続を確認 | 遠隔Macで実機検証を検討 | 同じネットワーク条件と復旧手順を維持できるか確認 |
| 遠隔Macへのログインのみ確認 | 実機検証はローカル、遠隔側はビルド等に分担 | Device Hub接続済みとは判定しない |
| シミュレーターのみ合格 | シミュレーター向けCIとして扱う | 実機の検収は別工程で実施 |
手元のMacだけで開発を続ける場合、稼働時間や共有の都合で実機確認の枠を取りにくくなることがあります。一方、遠隔Macを加える場合も、端末との同一ネットワーク条件や接続復旧を検証せずに実機ノードとして扱うと、ビルド成功と実機検証の境界が曖昧になります。まずは遠隔Mac開発環境の案内で利用方法を確認し、実機接続が必要なら主機と端末のネットワーク条件を個別に確かめてください。必要な期間だけMac環境を用意する選択肢を比較する場合は、料金案内も参照できます。現行環境の維持に負担があり、ネットワーク条件も満たせるなら、VMSPINのMacレンタルを検討できますが、実機直結が確認できない場合はローカル端末での検証を残してください。