# iOS シミュレータ

> macOS 上の Proxyman で iOS シミュレータの HTTP/HTTPS 通信をキャプチャします。証明書の自動セットアップ、手動インストール、通信が表示されない場合の確認方法を解説します。

Mac 上の Proxyman を使用して、iOS シミュレータから送信される HTTP/HTTPS リクエストをキャプチャして確認します。まずは証明書の自動インストールを試してください。インストールに失敗した場合は、後述の手動手順を使用してください。

始める前に、Xcode をインストールし、デバッグしたいシミュレータを一度は開いておいてください。アプリでリクエストを再現する間は、Proxyman を起動したままにしてください。HTTPS の通信を確認するには、証明書をインストールして信頼させたうえで、対象ドメインの [SSL Proxying](https://proxyman.com/docs/ja/basic-features/ssl-proxying) を有効にします。

Proxyman でシミュレータ向けのセットアップガイドを開きます：

* **Certificate** メニュー → **Install Certificate on iOS** → **Simulators**

## 動画 {#video}

[Video: iOS シミュレータから HTTPS 通信をキャプチャする](https://proxyman.com/videos/ios-simulator) (32 seconds)

[Xcode 26 の iOS 26 シミュレータでネイティブ iOS アプリの HTTPS 通信をキャプチャする](https://www.youtube.com/watch?v=THzb2e9hoGo)

## 1. iOS シミュレータのセットアップガイド {#1-ios-simulator-setup-guide}

![証明書の Installed &#x26; Trusted、Prepare Simulators、Reboot の 3 つの手順が表示された Proxyman の iOS シミュレータのセットアップ](https://proxyman.com/docs/assets/proxyman-ios-simulators-setup.jpg)

_iOS シミュレータのセットアップ_

> **備考:** iOS、iPadOS、tvOS、watchOS、visionOS に対応しています。

セットアップガイドには 3 つの手順があります：

1. Mac に **Root Proxyman Certificate** をインストールします。[macOS ガイド](https://proxyman.com/docs/ja/debug-devices/macos)の手順に従ってください。
2. 一度は開いたことがあるすべてのシミュレータに Proxyman 証明書をインストールします（**Prepare Simulators** をクリック）。
3. **シミュレータを再起動**: Proxyman はすべてのシミュレータを再起動し、新しい証明書を読み込ませます。

> **備考:** Proxyman 2.19.0 以降では、これらの作業に [simctl](https://nshipster.com/simctl/) コマンドラインを使用します。 
>
> **simctl** は Xcode に含まれています。従来の方法（カスタムの Python スクリプト）よりも新しく、信頼性の高い方法です。

> **備考:** この手順では、一度は開いたことがあるシミュレータにのみ証明書をインストールします。
>
> たとえば iPhone X Simulator でデバッグするには、まず **iPhone X Simulator** を**開き**、手順 2 で証明書を**インストール**してください。 

### Xcode Preview（SwiftUI） {#xcode-preview-swiftui}

SwiftUI の Xcode Preview を使用している場合は、Xcode Preview シミュレータに証明書をインストールできます：

1. SwiftUI のプレビューキャンバスを表示した状態で Xcode を開きます。
2. Proxyman を開き、**Certificate** メニュー → **Install Certificate on iOS** → **Simulators** を選択します。
3. 手順 2 で、**Prepare Simulators** ボタンの横にある ↓ ボタンをクリックし、**Install to Xcode Preview (SwiftUI)** を選択します。

詳しくは [GitHub issue #1568](https://github.com/ProxymanApp/Proxyman/issues/1568#issue-1610877870) をご覧ください。

### 手動でインストールする {#manually-install}

Proxyman v4.16.0 以降では、自動インストールがうまくいかない場合に、iOS シミュレータへ証明書を手動でインストールできます。

1. **Certificate** メニュー → **Install Certificate on iOS** → **Simulators**
2. 手順 2 で、**Prepare Simulators** ボタンの横にある ↓ ボタンをクリックし、**Install Manually…** を選択します。

![Prepare Simulators メニューを開き、Install Manually を選択した Proxyman の iOS シミュレータのセットアップ](https://proxyman.com/docs/assets/Screenshot%202024-11-01%20at%2020.14.39.jpg)

_証明書を手動でインストール_

3. 証明書を iOS シミュレータにドラッグ＆ドロップします。

![ドラッグできる Proxyman 証明書のアイコンと、シミュレータで信頼するための手順が表示された Proxyman のシート](https://proxyman.com/docs/assets/Screenshot%202024-01-07%20at%2014.43.13.png)

_証明書をシミュレータにドラッグしてから、信頼させます_

4. iOS シミュレータで **設定** アプリ → **一般** → **情報** → **証明書信頼設定** を開き、Proxyman CA 証明書を見つけてスイッチをオンにします。
5. 完了

## 2. トラブルシューティング {#2-troubleshooting}

リクエストの一覧が空の場合は、まず [通信が表示されない場合のチェックリスト](https://proxyman.com/docs/ja/troubleshooting/i-couldnt-see-any-traffics-on-proxyman) を使って、記録、フィルタ、プロキシの設定を確認してください。リクエストは表示されるのに HTTPS が失敗する場合は、証明書のインストールと SSL Proxying を確認してください。以下のセクションでは、インストールのエラーとキャッシュされたリクエストについて説明します。

### 1. 証明書をインストールできない {#1-unable-to-install-the-certificate}

手順 2 のボタンをクリックしてエラーが出る場合は、Xcode → **Settings** → **Locations** タブを開き、**Command Line Tools** で使用中の Xcode を選択してください。

### 2. HTTPS レスポンスで SSL エラーが発生する {#2-get-ssl-error-from-https-response}

* **設定** アプリ → **一般** → **情報** → **証明書信頼設定** を開き、Proxyman 証明書がインストールされて信頼されていることを確認します。

インストールされていない場合：

* iOS シミュレータのセットアップ（**Certificate** メニュー → **Install Certificate on iOS** → **Simulators**）を開き、手順 2 のボタンをクリックします。
* または、下の [証明書をエクスポートして手動でインストールする](#manually-install-the-certificate-by-exporting-the-certificate) の手順を試してください。

### 3. 一部の HTTP/HTTPS リクエストが Proxyman に表示されない {#3-some-httphttps-requests-are-missing-from-proxyman}

Alamofire や URLSession が、リクエストに対してキャッシュされたレスポンスを使用することがあります。その結果、実際のリクエストはサーバーに届かず、Proxyman でキャプチャも表示もできません。

解決方法： 

* URLSession または Alamofire のキャッシュの仕組みを無効にします。
* [No Caching ツール](https://proxyman.com/docs/ja/advanced-features/no-caching)（⌥⌘N）を使用します。

## 証明書をエクスポートして手動でインストールする {#manually-install-the-certificate-by-exporting-the-certificate}

証明書をインストールできない場合は、**手動で**インストールできます：

1. Proxyman を開き、**Certificate** メニュー → **Export** → **Root Certificate as DER** を選択して、**デスクトップ** フォルダに保存します。
2. Simulator を開き、証明書を Simulator の画面に**ドラッグ＆ドロップ**します。
3. （Simulator 上の）**設定** アプリ → **一般** → **VPN とデバイス管理**（古い iOS では **デバイス管理**）を開き、証明書を選択して **インストール** をタップします。
4. **設定** アプリ → **一般** → **情報** → **証明書信頼設定** を開き、Proxyman 証明書がインストールされて信頼されていることを確認します。
5. 完了 ✅

## チュートリアル {#tutorial}

Proxyman で iOS シミュレータ上のアプリをデバッグする詳しい手順は、[こちらの記事](https://proxyman.com/posts/2019-07-06-Debugging-on-iOS-Simulator-with-Proxyman)をご覧ください。

## 関連記事 {#learn-more}

* [Proxyman で iOS 15 シミュレータのネットワーク通信を確認する方法](https://proxyman.com/posts/2022-06-04-How-to-inspect-network-traffic-from-iOS-simulator-with-Proxyman)
* [Vision Pro シミュレータから HTTPS リクエストをキャプチャする](https://proxyman.com/posts/2024-01-24-Capture-HTTPS-traffic-from-Vision-Pro-Simulator)
* [Proxyman で iOS シミュレータの HTTP/HTTPS 通信をキャプチャする](https://proxyman.com/ios-simulator)（Proxyman 公式サイト）
