| この記事の要点 |
|
はじめに
iOS アプリは Xcode のシミュレータでも動かせますが、実機での動作確認はカメラ・センサ・パフォーマンス・指タップ操作のいずれにおいても欠かせません。本記事では iPhone を Mac に接続し、Xcode から実機でアプリを起動するまでの手順とハマりどころを整理します。
1. iPhone を Mac に接続する
- Mac と iPhone を Lightning または USB-C ケーブルで接続
- iPhone 側に「このコンピュータを信頼しますか?」のダイアログが出るので信頼を押す
- iPhone のパスコードを入力
Apple Silicon Mac の場合は USB-C ケーブル直結のほうが認識が安定します。USB ハブ経由だと一覧に出てこないことがあります。
2. Xcode で起動デバイスとして選択
Xcode の上部にあるスキーム/ターゲットセレクタから、接続中の iPhone を選択します。

- Xcode 上部のスキームセレクタ(左側)でビルド対象のアプリを確認
- 右隣のデスティネーションで接続した iPhone を選ぶ
- iPhone が Unavailable 表示なら、次節の信頼やデベロッパモードを確認
3. 開発者モード(iOS 16 以降必須)
iOS 16 以降の iPhone は、開発者署名されたアプリを実行する前に端末側でデベロッパモードを有効化する必要があります。
- 一度 Xcode から実機ビルドを実行(モード未有効でも一度ビルドして送り込む)
- iPhone → 設定 → プライバシーとセキュリティ → デベロッパモード
- トグルを ON にして再起動
- 再起動後に確認ダイアログで オンにする → パスコード入力
4. 署名(Signing & Capabilities)
実機ビルドにはコード署名が必要です。プロジェクトのターゲット → Signing & Capabilities タブで設定します。
| 設定 | 内容 |
|---|---|
| Automatically manage signing | ON にしておく(学習・個人開発はこれで十分) |
| Team | 自分の Apple ID を追加して選ぶ(無償の Personal Team でも実機テスト可) |
| Bundle Identifier | 世界で一意な逆ドメイン形式(例: com.example.myapp) |
無償の Personal Team の場合、ビルドした証明書は 7 日で失効します。失効後は再ビルドで再署名すれば OK です。
5. ビルドと起動
- 左上の▶(Run)ボタン、または
Cmd + R - 初回は iPhone のロックを解除しておく
- 転送 → インストール → 起動の順で進む
- iPhone のホーム画面にアプリが現れて自動起動する
6. 初回のみ「信頼されていないデベロッパ」対応
新しいデベロッパ証明書で初めてビルドしたとき、iPhone でアプリを開くと「信頼されていないデベロッパ」と出ます。
- iPhone → 設定 → 一般 → VPN とデバイス管理
- 該当のデベロッパ Apple ID をタップ
- このデベロッパを信頼
よくあるエラーと対処
| エラー / 症状 | 原因 / 対処 |
|---|---|
| Could not locate device support files | iPhone の iOS バージョンに対応する DeviceSupport が Xcode にない。対処方法 / Xcode を新しいバージョンに更新 |
| Untrusted Developer / 信頼されていない開発元 | 設定 → 一般 → VPN とデバイス管理 で信頼する |
| Developer Mode required | iOS 16+ のデベロッパモードを ON にして再起動 |
| device is locked | iPhone をロック解除した状態でビルド |
| No signing certificate found | Xcode → Settings → Accounts に Apple ID を追加し、Team を選び直す |
| This application's application-identifier entitlement does not match | Bundle ID とプロビジョニングが不一致。Automatically manage signing を一度オフ → オンで再生成 |
| Provisioning profile doesn't include the currently selected device | デバイス UDID がプロファイルに含まれていない。Automatic signing なら自動追加、手動なら developer.apple.com で追加 |
| The maximum number of apps for free development profiles has been reached | 無償アカウントは同時 3 つまで。古いプロビジョニングを削除 |
無線(Wi-Fi)で実機デバッグする
ケーブルを抜いて Wi-Fi 経由で実機デバッグも可能です。
- 初回はケーブル接続したまま、Xcode → Window → Devices and Simulators を開く
- 該当 iPhone を選び、Connect via network にチェック
- 同一 Wi-Fi であればケーブルを抜いてもデバイスとして認識される
関連
子ページ
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- プロジェクトをTomcatプロジェクトとして認識させる方法 2026-10-07 22:32:50
- MySQLの1366 Incorrect string value|Laravelの文字コード・絵文字エラー 2026-10-07 21:54:03
- curlの証明書ホスト名不一致|旧エラー51・現行60の確認と対処 2026-10-07 21:54:03
- LaravelのMassAssignmentException|fillableの原因と安全な対処 2026-10-07 21:54:03
- Eclipse で Tomcat の起動ログがコンソールに出ない時の確認手順 2026-10-07 21:54:02
- MySQLにおける中央値(Median)の導き方(バージョン8未満) 2026-10-07 13:49:45
- getInputForward 2026-10-07 13:41:15
- JSONから配列に変換 2026-10-07 13:41:15
- ビューから値をモデルに格納しコントローラーで受け取る方法 2026-10-07 13:23:41
- Laravelのテーブル作成と定義変更|マイグレーション・up/down・注意点 2026-10-07 13:23:41
- NumPy 配列に要素を追加する方法 (append / concatenate) 2026-10-07 13:23:41
- MariaDB・MySQLで現在日時を取得する方法|NOW・タイムゾーン・保存型 2026-10-07 13:13:36
- 【django】テンプレートで定数を使用する方法 2026-10-07 13:10:15
- Spring BootにおけるApplication.propertiesの環境依存設定の分割方法 2026-10-07 12:09:35
- Not supported for DML operations【Springエラー】 2026-10-07 11:09:38