iOS 시뮬레이터의 디렉토리가 변경된 것 같습니다. 이전에 였지만 ~/Library/Application\ Support/iPhone\ Simulator/
지금은 ~/Library/Developer/CoreSimulator/Devices/
.
답변:
업데이트 : Charles 3.9.3+ 에는 iOS 시뮬레이터를 구성하는 기능이 내장되어 있습니다 (예 : Charles SSL 인증서 설치). Charles 응용 프로그램의 도움말 메뉴에서 찾을 수 있습니다. ( Help > SSL Proxying > Install Charles Root Certificate in iOS Simulators
)
다음은 Charles 3.9.2에 적용됩니다.
Charles Proxy 웹 사이트 에서 구성 셸 스크립트 를 다운로드합니다 . 그런 다음 스크립트를 다음으로 바꾸고 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"
참고할 사항 :
방금 Charles를 Xcode 7 / iOS9 시뮬레이터에서 테스트했습니다. 문제가있는 경우 추가하고 싶은 몇 가지 지침 :
Charles 문서에 따르면
iOS 시뮬레이터는 시스템 프록시 설정을 사용해야합니다. 그렇지 않으면 iOS 시뮬레이터를 종료하고 다시 시작하십시오. Xcode 6부터는 iOS 시뮬레이터를 실행하기 전에 Charles가 실행 중이고 Mac OS X 시스템 프록시로 설정되어 있어야합니다.
따라서 시뮬레이터를 종료하고 charles를 연 다음 앱을 다시 실행하십시오. 그 후에 네트워크 통화를 추적 할 수 있습니다.
참고 : Charles를 종료하면 네트워크 호출이 실패합니다. 따라서 시뮬레이터를 종료하고 다시 실행하거나 Charles를 다시 열어야합니다.
이를 수행하는 또 다른 방법 은 장치에서 http://charlesproxy.com/charles.crt 인증서를 검색하는 것입니다.
화면이 표시됩니다.
iOS 9 업데이트 : Charles를 사용하려면 App Transport Security를 비활성화해야합니다!
http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
해당 페이지에서 구성 셸 스크립트를 보지 못했습니다. 나는 다음을 수행했고 그것은 나를 위해 일했습니다.
http://raptureinvenice.com/getting-the-charles-debugging-proxy-to-work-with-ios-and-genymotion/
이것 좀 봐:
Charles v3.9.3부터 도움말 메뉴에 "iOS 시뮬레이터에 Charles CA SSL 인증서 설치"항목이 있습니다.이 항목은 iOS 시뮬레이터에 Charles의 SSL CA 인증서를 자동으로 설치합니다.
또는 NSURLConnection이 모든 SSL 인증서를 허용하도록 코드를 변경할 수 있습니다. Stack Overflow : How to use NSURLConnection to connect with SSL for an untrusted cert? 에 대한 질문과 답변을 참조하십시오 .
다음 링크에서 확인할 수 있습니다. http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/
'iOS 시뮬레이터에 Charles 루트 인증서 설치'는 Xcode 7 / iOS 9 시뮬레이터가있는 현재 버전의 CharlesProxy (3.11)에서 작동하지 않습니다.
대신 '모바일 장치 또는 원격 브라우저에 Charles 루트 인증서 설치 ...'옵션을 사용하십시오. 이렇게하면 인증서에 대한 URL이 제공됩니다.
시뮬레이터의 Safari에서이 URL을 열면 인증서를 설치할 수있는 옵션이 제공됩니다.
그래도 앱 전송 보안을 비활성화해야합니다. 인증서를 설치했을 때 왜 이것이 필요한지 이해할 수 없습니다. CharlesProxy는 충분히 큰 키 / 서명을 사용하지 않는 것 같습니다.
iOS 시뮬레이터를위한 단계.
iPhone / iPad를위한 단계.
Charles 메뉴로 이동-> 도움말-> SSL 프록시-> 모바일 장치 또는 원격 브라우저에 Charles Ceritificate 설치-> 선택-> 아래 단계와 함께 팝업이 나타납니다`
192.168.0.100:8888 에서 Charles를 HTTP 프록시로 사용하도록 기기를 구성한 다음 브라우저에서 chls.pro/ssl 로 이동하여 인증서를 다운로드하고 설치합니다.
iPhone 설정으로 이동-> Wi-Fi-> 선택한 Wi-Fi 클릭-> Http 프록시-> 프록시 구성-> 수동 선택 -> 서버를 192.168.0.100으로, 포트를 8888로 지정-> 저장
iPhone 브라우저로 이동-> chls.pro/ssl 로드 -> 팝업창 아래에 표시됩니다`
웹 사이트에서 구성 프로필을 다운로드하려고합니다. 허용 하시겠습니까? 무시 버튼 및 허용 버튼
클릭 허용 > 그것은 프로파일을 다운로드합니다 - 버튼