Parece que el directorio del simulador de iOS ha cambiado. Solía estar dentro ~/Library/Application\ Support/iPhone\ Simulator/
y ahora está dentro ~/Library/Developer/CoreSimulator/Devices/
.
Parece que el directorio del simulador de iOS ha cambiado. Solía estar dentro ~/Library/Application\ Support/iPhone\ Simulator/
y ahora está dentro ~/Library/Developer/CoreSimulator/Devices/
.
Respuestas:
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:
#/bin/bash
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:
Acabo de probar Charles sobre el simulador Xcode 7 / iOS9. Solo algunos consejos que quiero agregar si tiene problemas:
Según la documentación de charles
El simulador de iOS debería utilizar la configuración de proxy del sistema. Si no es así, intente salir y reiniciar el simulador de iOS. A partir de Xcode 6, parece ser importante que Charles se esté ejecutando y configurado como el proxy del sistema Mac OS X antes de ejecutar el simulador de iOS.
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.
Otra forma de hacerlo es buscar el certificado http://charlesproxy.com/charles.crt en el dispositivo
que le presentará la pantalla:
Actualización para iOS 9: debe deshabilitar App Transport Security para usar Charles.
http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
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/
Mira esto:
A partir de Charles v3.9.3, hay un elemento en el menú de Ayuda, "Instalar certificado Charles CA SSL en simuladores iOS", que instalará automáticamente el certificado SSL CA de Charles en sus simuladores iOS.
Alternativamente, puede cambiar su código para que NSURLConnection acepte cualquier certificado SSL. Consulte la pregunta y respuesta en Stack Overflow: ¿Cómo usar NSURLConnection para conectarse con SSL para un certificado que no es de confianza?
Puede consultarlo en este enlace: http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/
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.
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 💥
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 `
Configure su dispositivo para usar Charles como su proxy HTTP en 192.168.0.100:8888 , luego navegue a chls.pro/ssl para descargar e instalar el certificado.
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 `
El sitio web está intentando descargar un perfil de configuración. ¿Quieres permitir esto? Botón Ignorar y botón Permitir
Haga clic en el botón Permitir -> Descargará el perfil
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.