From what I can tell most guides online (and even on the Charles website!) are out of date for iOS 17 / Charles Proxy v4.6.6. I’m half making this post just so I can refer to it next time I have a new emulator I need to setup 🤣
Step 1: Install the Root Certificate in iOS Simulators
Help > SSL Proxing > Install Charles Root Certificate
Step 2: Follow the video / steps below
- Start Charles Proxy
- Open Safari on your Simulator and visit
https://chls.pro/ssl
- Click
Allow
on the modal - In your simulator
Settings > General > VPN & Device Management
press the downloaded Charles profile and pressInstall
a few times through the warnings (which are good to note, installing a root certificate for a MITM Proxy is scary business!) - Go to
Settings > General > About > Certificate Trust Settings
- Press the Toggle for the Root Certificate you just installed in the
ENABLE FULL TRUST FOR ROOT CERTIFICATES
section - Click
Continue
on the warning. - Thats it!
Step 3: Enable SSL Proxying for some domains
Make sure you setup SSL Proxying for some domains in Proxy > SSL Proxying Settings
You can enable for *:*
like you see below if you want proxying for EVERYTHING but I personally don’t like Charles proxying all my requests on my machine out of security concerns
Step 4: Reboot some stuff
Make sure to reboot Charles and your Simulator before trying to attempting to use the proxy!
Thats it! Hope this was helpful (or helpful for future me)