For what it's worth here are the step by step instructions for doing this in an Android device. Should be the same for iOS:
- Open Charles
- Go to Proxy > Proxy Settings > SSL
- Check “Enable SSL Proxying”
- Select “Add location” and enter the host name and port (if needed)
- Click ok and make sure the option is checked
- Download the Charles cert from here: Charles cert >
- Send that file to yourself in an email.
- Open the email on your device and select the cert
- In “Name the certificate” enter whatever you want
- Click OK and you should get a message that the certificate was installed
You should then be able to see the SSL files in Charles. If you want to intercept and change the values you can use the "Map Local" tool which is really awesome:
- In Charles go to Tools > Map Local
- Select "Add entry"
- Enter the values for the file you want to replace
- In “Local path” select the file you want the app to load instead
- Click OK
- Make sure the entry is selected and click OK
- Run your app
- You should see in “Notes” that your file loads instead of the live one