Here are some of the common issues people face when working with iOS and Charles. Details on how to fix these issues has also been included.
# Trust device’s Root certificate
I’ve installed the Root certificate and ‘Enabled SSL Proxying’ but the Response is empty or blank
If you have decrypted the SSL traffic but the Response is empty, it may mean you haven’t trusted the device’s root certificate
How to fix it?
Settings -> General -> About -> Certificate Trust Settings -> enable the toggle for the Root certificate
# Time Outs
The app or browser keeps timing out
Check if the local IP address of your Mac has changed
If it has changed, it means your device can no longer talk to your Mac. Essentially your iOS device has no internet connection!
# Access Denied
My IP address hasn’t changed and I still can’t see traffic from my device on Charles
If you see a message in the bottom left-hand corner of Charles about ‘Denying access ….’, the fix is actually quiet straightforward
Restart Charles. Return to your browser/app and reload the page/screen
Go back to Charles and you should now see a dialog (see next screenshot below) about accepting a connection from you device
Why did this happen?
This error can occur if you dismiss the dialog (by clicking the red circle) or accidentally click ‘Deny’ button
The dialog message says “If you deny this you will not be asked again for this host address until you restart Charles”.
Managing local IP address
The ‘Access Control Settings’ screen lists the local IP addresses of all devices that can communicate with your instance of Charles
# Expired MacOS/iOS Root Certificate
Charles has stopped decrypting traffic!
To comply with Apple’s changes to certificate expiry dates, from Charles 4.6 onwards, all certs will have a 1 year expiry date
Read this article to create a new cert
TL;DR – “reset” the Charles root cert
# Using a work laptop
I’ve done everything and Charles STILL doesn’t connect
If you are using a work laptop and Charles still isn’t working, check if there is any pre-install software that could stop Charles from working e.g. Zscaler, Cisco Umbrella
If allowed, turn off each application one by one to see if that resolves the problem
The Zscaler icon is highlighted in the adjacent screenshot