Es scheint, dass sich das Verzeichnis für den iOS-Simulator geändert hat. Früher war es ~/Library/Application\ Support/iPhone\ Simulator/
drin und jetzt ist es drin ~/Library/Developer/CoreSimulator/Devices/
.
Es scheint, dass sich das Verzeichnis für den iOS-Simulator geändert hat. Früher war es ~/Library/Application\ Support/iPhone\ Simulator/
drin und jetzt ist es drin ~/Library/Developer/CoreSimulator/Devices/
.
Antworten:
Update: Charles 3.9.3+ verfügt über eine integrierte Funktion zum Konfigurieren Ihrer iOS-Simulatoren (dh Installieren des Charles SSL-Zertifikats). Dies finden Sie im Menü Hilfe in der Charles-Anwendung. ( Help > SSL Proxying > Install Charles Root Certificate in iOS Simulators
)
Für Charles 3.9.2 gilt Folgendes:
Laden Sie das Konfigurations-Shell-Skript von der Charles Proxy-Website herunter . Ersetzen Sie dann das Skript durch das folgende und führen Sie es auf Ihrem Mac aus:
#/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"
Einige Dinge zu beachten:
Ich habe Charles gerade über den Xcode 7 / iOS9-Simulator getestet. Nur ein paar Hinweise, die ich hinzufügen möchte, wenn Sie Probleme haben:
Laut Charles Dokumentation
Der iOS-Simulator sollte die System-Proxy-Einstellungen verwenden. Wenn dies nicht der Fall ist, beenden Sie den iOS-Simulator und starten Sie ihn neu. Ab Xcode 6 scheint es wichtig zu sein, dass Charles ausgeführt und als Mac OS X-Systemproxy festgelegt wird, bevor Sie den iOS-Simulator ausführen.
Beenden Sie einfach Ihren Simulator, öffnen Sie Charles und führen Sie die App erneut aus. Danach können Sie Ihre Netzwerkanrufe verfolgen.
HINWEIS: Ihre Netzwerkanrufe schlagen fehl, wenn Sie Charles beenden. Sie müssen also entweder den Simulator beenden und erneut ausführen oder Charles erneut öffnen.
Eine andere Möglichkeit besteht darin, zum Zertifikat http://charlesproxy.com/charles.crt auf dem Gerät zu navigieren
welches Ihnen den Bildschirm präsentiert:
Update für iOS 9: Sie müssen App Transport Security deaktivieren, um Charles verwenden zu können!
http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
Ich habe das Konfigurations-Shell-Skript auf dieser Seite nicht gesehen. Ich habe folgendes gemacht und es hat bei mir funktioniert:
http://raptureinvenice.com/getting-the-charles-debugging-proxy-to-work-with-ios-and-genymotion/
Überprüfen Sie dies heraus:
Ab Charles v3.9.3 gibt es im Hilfemenü den Eintrag "Installieren des Charles CA SSL-Zertifikats in iOS-Simulatoren", mit dem das Charles SSL CA-Zertifikat automatisch in Ihren iOS-Simulatoren installiert wird.
Alternativ können Sie Ihren Code so ändern, dass NSURLConnection jedes SSL-Zertifikat akzeptiert. Weitere Informationen finden Sie in der Frage und Antwort zum Stapelüberlauf : Wie verwende ich NSURLConnection, um eine Verbindung mit SSL für ein nicht vertrauenswürdiges Zertifikat herzustellen?
Sie können dies unter folgendem Link überprüfen: http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/
Das 'Charles Root-Zertifikat in iOS-Simulatoren installieren' funktioniert in der aktuellen Version von CharlesProxy (3.11) mit Xcode 7 / iOS 9-Simulatoren nicht.
Verwenden Sie stattdessen die Option "Charles Root-Zertifikat auf einem mobilen Gerät oder einem Remote-Browser installieren ...". Dadurch erhalten Sie eine URL für das Zertifikat.
Wenn Sie diese URL in Safari im Simulator öffnen, haben Sie die Möglichkeit, das Zertifikat zu installieren.
Sie müssen dann immer noch die App-Transportsicherheit deaktivieren. Ich verstehe nicht, warum dies erforderlich ist, wenn Sie das Zertifikat installiert haben. Ich denke, CharlesProxy verwendet nicht ausreichend große Schlüssel / Signaturen.
Für diejenigen, die mit nicht vertrauenswürdigen Verbindungen auf den Simulatoren von Xcode 9 Beta zu kämpfen haben:
Ich weiß nicht, ob das Installationsskript funktioniert oder nicht, aber Sie können das charles-Zertifikat auf dieselbe Weise wie auf einem physischen Gerät installieren - über Safari.
Letzter Schritt, der erforderlich ist (natürlich nach der Installation des Zertifikats entweder über ein Skript oder über Safari): Gehen Sie zu Simluators Einstellungen -> Allgemein -> Über -> Einstellungen für die Zertifikatvertrauensstellung -> Benutzerdefiniertes Stammverzeichnis von Charles Proxy ... -> Aktivieren 💥
Schritte für iOS-Simulator.
Schritte für iPhone / iPad.
Gehe zu Charles-Menü -> Hilfe -> SSL-Proxy -> Charles Ceritificate auf einem mobilen Gerät oder einem Remote-Browser installieren -> Auswählen -> Popup wird mit den folgenden Schritten angezeigt:
Konfigurieren Sie Ihr Gerät so, dass Charles als HTTP-Proxy unter 192.168.0.100:8888 verwendet wird , und navigieren Sie dann zu chls.pro/ssl , um das Zertifikat herunterzuladen und zu installieren.
Gehen Sie zu iPhone-Einstellungen -> WLAN -> Klicken Sie auf ausgewähltes WLAN -> HTTP-Proxy -> Proxy konfigurieren -> Wählen Sie Manuell -> Server als 192.168.0.100 und Port als 8888 -> Speichern
Gehe zu iPhone Browser -> Lade chls.pro/ssl -> Es wird unter Popup angezeigt `
Die Website versucht, ein Konfigurationsprofil herunterzuladen. Möchten Sie dies zulassen? Schaltfläche "Ignorieren" und Schaltfläche " Zulassen"
Klicken Sie auf die Schaltfläche Zulassen -> Das Profil wird heruntergeladen
Für mich hat das funktioniert.
Ich habe das Gleiche getan wie im Gerät.
Ich muss dies auf 3 Simulatorinstanzen tun, da XCUI-Automatisierungstests 3 drehen können.