Görünüşe göre iOS Simulator dizini değişmiş. Eskiden içindeydi ~/Library/Application\ Support/iPhone\ Simulator/
ve şimdi içeride ~/Library/Developer/CoreSimulator/Devices/
.
Yanıtlar:
Güncelleme: Charles 3.9.3+ , iOS Simülatörlerinizi yapılandırmak için yerleşik bir işleve sahiptir (yani Charles SSL Sertifikasını yüklemek). Bu, Charles uygulaması içindeki Yardım menüsünde bulunabilir. ( Help > SSL Proxying > Install Charles Root Certificate in iOS Simulators
)
Aşağıdakiler Charles 3.9.2 için geçerlidir:
İndir yapılandırma shell script gelen Charles Vekil web . Ardından, komut dosyasını aşağıdakiyle değiştirin ve Mac'inizde çalıştırın:
#/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"
Dikkat edilmesi gereken bazı noktalar:
Charles'ı Xcode 7 / iOS9 simülatörü üzerinden test ettim. Sorun yaşıyorsanız eklemek istediğim birkaç işaret:
Charles belgelerine göre
İOS Simulator, sistem proxy ayarlarını kullanmalıdır. Başlamazsa, lütfen iOS Simulator'dan çıkıp yeniden başlatmayı deneyin. Xcode 6'dan itibaren, siz iOS Simulator'u çalıştırmadan önce Charles'ın Mac OS X sistem proxy'si olarak çalışıyor olması ve ayarlanması önemli görünmektedir.
Simülatörünüzden çıkın, Charles'ı açın ve ardından uygulamayı tekrar çalıştırın. Bundan sonra ağ aramalarınızı takip edebilirsiniz.
NOT: Charles'tan çıkarsanız ağ çağrılarınız başarısız olacaktır. Bu yüzden ya simülatörden çıkmanız ve tekrar çalıştırmanız ya da Charles'ı tekrar açmanız gerekecek.
Bunu yapmanın başka bir yolu da http://charlesproxy.com/charles.crt sertifikasına göz atmaktır. , cihazdaki .
size ekranı sunacak:
İOS 9 için güncelleme: Charles'ı kullanmak için App Transport Security'yi devre dışı bırakmanız gerekiyor!
http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
Bu sayfada yapılandırma kabuğu komut dosyasını görmedim. Aşağıdakileri yaptım ve benim için çalıştı:
http://raptureinvenice.com/getting-the-charles-debugging-proxy-to-work-with-ios-and-genymotion/
Şuna bir bak:
Charles v3.9.3'ten itibaren, Yardım menüsünde, Charles'ın SSL CA sertifikasını iOS Simülatörlerine otomatik olarak yükleyecek olan "iOS Simülatörlerine Charles CA SSL Sertifikası Yükle" adlı bir öğe vardır.
Alternatif olarak, NSURLConnection'ın herhangi bir SSL sertifikasını kabul etmesi için kodunuzu değiştirebilirsiniz. Lütfen Stack Overflow'daki soruya ve cevaba bakın: Güvenilmeyen bir sertifika için SSL ile bağlanmak için NSURLConnection nasıl kullanılır?
Bu bağlantıdan kontrol edebilirsiniz: http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/
CharlesProxy'nin (3.11) Xcode 7 / iOS 9 simülatörleri ile mevcut sürümünde 'iOS simülatörlerinde Install Charles Root Certificate' çalışmaz.
Bunun yerine, 'Charles Kök Sertifikasını Bir Mobil Cihaza veya Uzak Tarayıcıya Kur ...' seçeneğini kullanın. Bu size sertifika için bir url verecektir.
Bu url'yi simülatörde Safari'de açarsanız, size sertifikayı yükleme seçeneği sunulur.
Yine de uygulama taşıma güvenliğini devre dışı bırakmanız gerekir. Sertifikayı yüklediğinizde bunun neden gerekli olduğunu anlamıyorum; Sanırım CharlesProxy yeterince büyük anahtarlar / imzalar kullanmıyor.
Xcode 9 betanın simülatörlerinde güvenilmeyen bağlantılarla mücadele edenler için:
Kurulum komut dosyasının çalışıp çalışmadığını bilmiyorum, ancak charles sertifikasını fiziksel cihazda olduğu gibi Safari aracılığıyla yükleyebilirsiniz.
Gerekli olan son adım (tabii ki sertifikayı komut dosyası veya Safari aracılığıyla yükledikten sonra): Simluator'un ayarlarına gidin -> genel -> hakkında -> Sertifika güven ayarları -> Charles Proxy Özel Kök ... -> etkinleştir 💥
İOS simülatörü için adımlar.
İPhone / iPad için adımlar.
Goto Charles Menüsü -> Yardım -> SSL Proxy Verme -> Charles Ceritificate'ı bir Mobil cihaza veya Uzak tarayıcıya yükleyin -> Seç -> aşağıdaki adımlarla birlikte açılır pencere görünür `
Cihazınızı 192.168.0.100:8888'de HTTP Proxy'si olarak Charles'ı kullanacak şekilde yapılandırın , ardından sertifikayı indirip yüklemek için chls.pro/ssl adresine göz atın .
İPhone ayarlarına gidin -> Wifi -> seçili wifi'ye tıklayın -> Http proxy -> Proxy yapılandır -> Manuel'i seçin -> Sunucuya 192.168.0.100 olarak ve bağlantı noktasını 8888 olarak ver -> Kaydet
İPhone tarayıcısına git -> chls.pro/ssl yükle -> Aşağıdaki açılır pencereyi gösterecek ''
Web sitesi bir konfigürasyon profili indirmeye çalışıyor. Buna izin vermek ister misin? Yoksay düğmesi ve İzin Ver düğmesi
Tıklayın izin ver > Bu profili indirecektir - Düğme
Bana göre işe yarayan buydu.
Cihazda yaptığımızın aynısını yaptım.
XCUI otomasyon testi 3'ü döndürebildiğinden, bunu 3 simülatör örneğinde yapmam gerekiyor.