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.
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!
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
Trust 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 Root certificate on the iOS device
How to fix it?
Settings -> General -> About -> Certificate Trust Settings -> enable the toggle for the Root certificate
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