Cómo configurar y usar Charles Proxy en iOS

Marcelo Laprea
23 abril, 20253min de lectura
Charles Proxy es una herramienta esencial para desarrolladores iOS que permite interceptar, inspeccionar y modificar el tráfico HTTP y HTTPS entre una aplicación y el servidor. Este artículo te enseñará cómo configurar Charles Proxy en un simulador de iOS, cómo utilizar sus funciones clave, y cómo resolver los problemas más comunes durante el proceso.
Entre sus principales funcionalidades destacan:
- Visualización completa del tráfico HTTP/HTTPS.
- Inspección detallada de solicitudes y respuestas.
- Modificación de tráfico en tiempo real para pruebas.
Instalación y configuración inicial
Paso 1: Instalar Charles Proxy
- Descarga la última versión desde la web oficial de Charles Proxy.
- Instala la aplicación en tu Mac siguiendo los pasos del instalador.
- Al abrir Charles por primera vez, concede permisos si el firewall de macOS lo solicita.
Paso 2: Instalar el certificado SSL en simuladores
Para poder interceptar tráfico HTTPS:
- Abre Charles y ve a Help > SSL Proxying > Install Charles Root Certificate in iOS Simulators.
- Reinicia los simuladores para que el certificado se aplique correctamente.

Paso 3: Habilitar el proxy en macOS
- En Charles, activa la opción Proxy > macOS Proxy.
- Verifica que la opción "Recording" esté activa (parte inferior derecha).
- Si no lo está, haz clic en el botón Start Recording.

Interceptación de tráfico HTTPS en iOS
Activar el SSL proxying para dominios
Para ver contenido HTTPS, necesitas habilitar el SSL Proxying para los dominios relevantes.
Opción A: Configuración manual
- Ve a Proxy > SSL Proxying Settings.
- Haz clic en "Add" y agrega el host y puerto (usualmente
443
para HTTPS).

Opción B: Configuración rápida desde el tráfico
- Identifica una solicitud en la vista de tráfico.
- Haz clic derecho sobre la URL.
- Selecciona "Enable SSL Proxying".

Mapear respuestas con Charles Proxy
El mapeo local de respuestas es una funcionalidad que te permite simular respuestas del servidor utilizando archivos locales, sin necesidad de modificar el backend.
¿Cómo mapear respuestas?
- Ejecuta tu app normalmente y permite que Charles capture una respuesta del endpoint deseado.
- Haz clic derecho sobre esa respuesta en Charles y selecciona "Map Local...".
- En el campo "Map To", selecciona el archivo local (por ejemplo, un archivo .json) que actuará como respuesta simulada.
- Guarda la configuración y vuelve a ejecutar tu app o realiza la misma solicitud HTTP.
Ahora verás que Charles devuelve el contenido de tu archivo local en lugar de la respuesta real del servidor.

Solución de Problemas Comunes
No Aparece el Tráfico HTTPS
- Asegúrate de haber instalado el certificado correctamente.
- Verifica que el dominio esté habilitado en SSL Proxying Settings.
- Reinicia el simulador y Charles.
Errores de Certificado SSL
- Reinstala el certificado raíz desde Charles.
- Comprueba que el dominio esté correctamente configurado.
- Asegúrate de que la fecha y hora del sistema sean correctas.
Conclusión
Charles Proxy es una herramienta imprescindible para desarrolladores iOS que buscan optimizar, depurar y asegurar la comunicación entre sus aplicaciones y los servidores. Con esta guía, ahora puedes:
- Inspeccionar y modificar tráfico en simuladores.
- Simular fallos de red o respuestas personalizadas.
- Colaborar con tu equipo de desarrollo más eficazmente.