Actualización: Charles 3.9.3+ tiene una función incorporada para configurar sus simuladores de iOS (es decir, instalar el certificado Charles SSL). Esto se puede encontrar en el menú Ayuda dentro de la aplicación Charles. ( Help > SSL Proxying > Install Charles Root Certificate in iOS Simulators
)
Lo siguiente se aplica a Charles 3.9.2:
Descargue el script de shell de configuración del sitio web de Charles Proxy . Luego, reemplace el script con lo siguiente y ejecútelo en su Mac:
install() {
if [ -f "$SQLITEDBPATH" ]; then
cp -n "$SQLITEDBPATH" "$SQLITEDBPATH.charlesbackup"
sqlite3 "$SQLITEDBPATH" <<EOF
INSERT INTO "tsettings" VALUES(X'189B6E28D1635F3A8325E1E002180DBA2C02C241',X'3123302106035504030C1A436861726C65732050726F78792053534C2050726F7879696E6731243022060355040B0C1B687474703A2F2F636861726C657370726F78792E636F6D2F73736C3111300F060355040A0C08584B3732204C74643111300F06035504070C084175636B6C616E643111300F06035504080C084175636B6C616E64310B3009060355040613024E5A',X'3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C21444F435459504520706C697374205055424C494320222D2F2F4170706C652F2F44544420504C49535420312E302F2F454E222022687474703A2F2F7777772E6170706C652E636F6D2F445444732F50726F70657274794C6973742D312E302E647464223E0A3C706C6973742076657273696F6E3D22312E30223E0A3C61727261792F3E0A3C2F706C6973743E0A',X'3082045E30820346A003020102020101300D06092A864886F70D01010505003081913123302106035504030C1A436861726C65732050726F78792053534C2050726F7879696E6731243022060355040B0C1B687474703A2F2F636861726C657370726F78792E636F6D2F73736C3111300F060355040A0C08584B3732204C74643111300F06035504070C084175636B6C616E643111300F06035504080C084175636B6C616E64310B3009060355040613024E5A3020180F31383939313233313132303030305A170D3338303932343033313930355A3081913123302106035504030C1A436861726C65732050726F78792053534C2050726F7879696E6731243022060355040B0C1B687474703A2F2F636861726C657370726F78792E636F6D2F73736C3111300F060355040A0C08584B3732204C74643111300F06035504070C084175636B6C616E643111300F06035504080C084175636B6C616E64310B3009060355040613024E5A30820122300D06092A864886F70D01010105000382010F003082010A02820101008349587455EFB272E397A31D3B52D9B13115C93F320766D2D451117F45C40285506027079ED439CABB94D44F1AE136EB1E79BF77ABE43345AD1D436809CF9E035C439272F3CA917DCADD7FBD0E3929F1A345F0B89096130BBD116F8D3AB5655789B7B0831325BD22903F198DA6BDDA30C08DFD17CE9AB51C48555264307BCF789A2B6C48DF4ECAF3EA2C092EE737AD8F397900AC03303BFE2AE43549030A7866CB6FE9B04B9F6EC498B4E7369E99B45491BF093858A77C72F8ADC818E018D413265E39446BE514F78EB57A23AA88F630776F861A9163E04AD38EE8A5C9219D0FC23F6B9A6324455DEA6F4A6A251ECA1FA3D6288CB89FD12A2062A3A015A56F250203010001A381BC3081B9300F0603551D130101FF040530030101FF307706096086480186F842010D046A136853534C2050726F7879696E6720697320656E61626C656420696E20436861726C65732050726F78792E20506C6561736520766973697420687474703A2F2F636861726C657370726F78792E636F6D2F73736C20666F72206D6F726520696E666F726D6174696F6E2E300E0603551D0F0101FF040403020204301D0603551D0E04160414BB27F4CB2EB6DBB058101BBD803F38D208D76129300D06092A864886F70D010105050003820101000041F935F30B209E56360F7E3D9C30314A213323C47EDCEA1467600A50FFE4E8E39DFCA8C8D34463C34745FF04C870F1DF28BB772DB0CF1BCA677B70842C742BC6D5FB00559AD643C6BF2C95BD0B855A961D7D6A3EADA9C642E9A789474C4AD838C6F732D8D859548D30829DF7A32D098FE3F00147DAF08C0B37DD597184C1E27A61EA42050C73994E809013CB21E37BF84BF923BCEFEA6164FD28AB9058CCC48F1F486FC1C47EBD8A9C933F542401B11F36A003E47B141A41C7B326D18D023E11EDB445699AA44800254EA33F174FD5EB1CCCE6A09365751FF905988C06315B5575067BF65EC24CAD1A6A601846D1D2F51F1F420A2762990B044000619D1C84');
EOF
fi
}
for SQLITEDBPATH in ~/Library/Developer/CoreSimulator/Devices/*/data/Library/Keychains/TrustStore.sqlite3; do
echo $SQLITEDBPATH
install
done
echo "The Charles SSL CA Certificate has been installed for the iPhone Simulator"
Algunas cosas a tener en cuenta:
- debes abrir Charles antes de iniciar el simulador. Si cierra Charles, las solicitudes de red fallarán hasta que reinicie el simulador
- deberá hacer esto cada vez que "Restablezca el contenido y la configuración ..." en el simulador
- Para Xcode 5: si desea configurar Charles Proxy en Xcode 5 y versiones anteriores, no necesita modificar el script original. Simplemente descárguelo del sitio web de Charles y ejecútelo como está
Acabo de probar Charles sobre el simulador Xcode 7 / iOS9. Solo algunos consejos que quiero agregar si tiene problemas:
fuente
Según la documentación de charles
Leer aquí
Así que salga del simulador, abra Charles y vuelva a ejecutar la aplicación. Después de eso, puede rastrear sus llamadas de red.
NOTA: Sus llamadas de red fallarán si sale de Charles. Por lo tanto, deberá salir del simulador y ejecutarlo nuevamente o abrir Charles nuevamente.
fuente
Otra forma de hacerlo es buscar el certificado http://charlesproxy.com/charles.crt en el dispositivo
que le presentará la pantalla:
fuente
Actualización para iOS 9: debe deshabilitar App Transport Security para usar Charles.
http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
fuente
No vi el script de shell de configuración en esa página. Hice lo siguiente y funcionó para mí:
http://raptureinvenice.com/getting-the-charles-debugging-proxy-to-work-with-ios-and-genymotion/
fuente
Mira esto:
Puede consultarlo en este enlace: http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/
fuente
El 'Install Charles Root Certificate in iOS simulators' no funciona en la versión actual de CharlesProxy (3.11) con simuladores Xcode 7 / iOS 9.
En su lugar, use la opción 'Instalar certificado raíz Charles en un dispositivo móvil o navegador remoto ...'. Esto le dará una URL para el certificado.
Si abre esta URL en Safari en el simulador, se le dará la opción de instalar el certificado.
Aún debe desactivar la seguridad de transporte de la aplicación. No entiendo por qué esto es necesario cuando tiene el certificado instalado; Supongo que CharlesProxy no usa claves / firmas suficientemente grandes.
fuente
Simplemente (re) iniciar el simulador después de que Charles comience a arreglarlo para mí.
fuente
Para aquellos que luchan con conexiones que no son de confianza en los simuladores de Xcode 9 beta:
No sé si el script de instalación funciona o no, pero puede instalar el certificado de charles de la misma manera que en el dispositivo físico, a través de Safari.
Último paso que se necesita (por supuesto, después de instalar el certificado, ya sea a través de script o Safari): Vaya a la configuración de Simluator -> general -> acerca de -> Configuración de confianza del certificado -> Charles Proxy Custom Root ... -> habilitar 💥
fuente
Pasos para el simulador de iOS.
Pasos para iPhone / iPad.
Vaya al menú Charles -> Ayuda -> Proxying SSL -> Instale Charles Ceritificate en un dispositivo móvil o navegador remoto -> Seleccionar -> aparece una ventana emergente con los pasos a continuación `
Vaya a la configuración del iPhone -> Wifi -> haga clic en wifi seleccionado -> Http proxy -> Configurar proxy -> seleccione Manual -> Dar servidor como 192.168.0.100 y puerto como 8888 -> Guardar
Ir al navegador de iPhone -> Cargar chls.pro/ssl -> Se mostrará debajo de la ventana emergente `
Haga clic en el botón Permitir -> Descargará el perfil
fuente
Para mí, esto es lo que funcionó.
Hice lo mismo que hacemos en el dispositivo.
Tengo que hacer esto en 3 instancias del simulador, ya que las pruebas de automatización XCUI pueden girar 3.
fuente
Me funciona después de ir a safari (simulador) y visitar la URL:
Antes tenía que instalar el certificado raíz de charles en simuladores de iOS (Charles: ayuda / SSLproxying)
Saludos
fuente