Có vẻ như thư mục cho Trình mô phỏng iOS đã thay đổi. Nó đã từng ở ~/Library/Application\ Support/iPhone\ Simulator/
và bây giờ nó ở trong ~/Library/Developer/CoreSimulator/Devices/
.
Có vẻ như thư mục cho Trình mô phỏng iOS đã thay đổi. Nó đã từng ở ~/Library/Application\ Support/iPhone\ Simulator/
và bây giờ nó ở trong ~/Library/Developer/CoreSimulator/Devices/
.
Câu trả lời:
Cập nhật: Charles 3.9.3+ có chức năng tích hợp để định cấu hình Trình mô phỏng iOS của bạn (tức là cài đặt Chứng chỉ SSL Charles). Điều này có thể được tìm thấy trong menu Trợ giúp trong ứng dụng Charles. ( Help > SSL Proxying > Install Charles Root Certificate in iOS Simulators
)
Những điều sau áp dụng cho Charles 3.9.2:
Tải xuống tập lệnh shell cấu hình từ trang web Charles Proxy . Sau đó, thay thế tập lệnh bằng đoạn mã sau và chạy nó trên máy Mac của bạ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"
Một số điều cần lưu ý:
Tôi vừa thử nghiệm Charles qua trình mô phỏng Xcode 7 / iOS9. Tôi chỉ muốn thêm một số gợi ý nếu bạn đang gặp sự cố:
Theo tài liệu charles
Trình mô phỏng iOS nên sử dụng cài đặt proxy hệ thống. Nếu không, hãy thử thoát và khởi động lại Trình mô phỏng iOS. Đối với Xcode 6, điều quan trọng là Charles đang chạy và đặt làm proxy hệ thống Mac OS X trước khi bạn chạy Trình mô phỏng iOS.
Vì vậy, chỉ cần thoát trình mô phỏng của bạn, mở charles và sau đó chạy lại ứng dụng. Sau đó, bạn có thể theo dõi các cuộc gọi mạng của mình.
LƯU Ý: Các cuộc gọi mạng của bạn sẽ không thành công nếu bạn thoát khỏi Charles. Vì vậy, bạn sẽ cần phải thoát khỏi trình mô phỏng và chạy lại hoặc mở lại Charles.
Một cách khác để thực hiện là duyệt đến chứng chỉ http://charlesproxy.com/charles.crt trên thiết bị
sẽ hiển thị cho bạn màn hình:
Cập nhật cho iOS 9: Bạn phải tắt App Transport Security để sử dụng Charles!
http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
Tôi không thấy tập lệnh trình bao cấu hình trên trang đó. Tôi đã làm những điều sau và nó hiệu quả với tôi:
http://raptureinvenice.com/getting-the-charles-debugging-proxy-to-work-with-ios-and-genymotion/
Kiểm tra cái này:
Kể từ Charles v3.9.3, có một mục trong menu Trợ giúp, "Cài đặt Chứng chỉ SSL Charles CA trong Trình mô phỏng iOS", sẽ tự động cài đặt chứng chỉ SSL CA của Charles trong Trình mô phỏng iOS của bạn.
Ngoài ra, bạn có thể thay đổi mã của mình để NSURLConnection chấp nhận bất kỳ chứng chỉ SSL nào. Vui lòng xem câu hỏi và câu trả lời trên Stack Overflow: Cách sử dụng NSURLConnection để kết nối với SSL cho một chứng chỉ không đáng tin cậy?
Bạn có thể kiểm tra nó trên liên kết này: http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-application/
'Cài đặt chứng chỉ gốc Charles trong trình mô phỏng iOS' không hoạt động trong phiên bản hiện tại của CharlesProxy (3.11) với trình mô phỏng Xcode 7 / iOS 9.
Thay vào đó, hãy sử dụng tùy chọn 'Cài đặt Chứng chỉ gốc Charles trên Thiết bị Di động hoặc Trình duyệt Từ xa ...'. Điều này sẽ cung cấp cho bạn một url cho chứng chỉ.
Nếu bạn mở url này trong Safari trong trình mô phỏng, thì bạn sẽ được cung cấp tùy chọn để cài đặt chứng chỉ.
Sau đó, bạn vẫn cần phải tắt bảo mật truyền tải ứng dụng. Tôi không hiểu tại sao điều này lại cần thiết khi bạn đã cài đặt chứng chỉ; Tôi đoán CharlesProxy không sử dụng các khóa / chữ ký đủ lớn.
Đối với những người gặp khó khăn với kết nối không đáng tin cậy trên trình mô phỏng của Xcode 9 beta:
Tôi không biết tập lệnh cài đặt có hoạt động hay không nhưng bạn có thể cài đặt chứng chỉ của charles theo cách giống như trên thiết bị vật lý - thông qua Safari.
Bước cuối cùng cần thiết (tất nhiên sau khi cài đặt chứng chỉ thông qua tập lệnh hoặc qua Safari): Đi tới cài đặt của Simluator -> chung -> giới thiệu -> Cài đặt tin cậy chứng chỉ -> Charles Proxy Custom Root ... -> kích hoạt 💥
Các bước cho trình mô phỏng iOS.
Các bước dành cho iPhone / iPad.
Menu Goto Charles -> Trợ giúp -> SSL Proxying -> Cài đặt Charles Ceritificate trên thiết bị Di động hoặc Trình duyệt từ xa -> Chọn -> cửa sổ bật lên xuất hiện với các bước dưới đây '
Định cấu hình thiết bị của bạn để sử dụng Charles làm HTTP Proxy trên 192.168.0.100:8888 , sau đó trình duyệt tới chls.pro/ssl để tải xuống và cài đặt chứng chỉ.
Goto cài đặt iPhone -> Wifi -> nhấp vào wifi đã chọn -> Http proxy -> Định cấu hình proxy -> chọn Thủ công -> Cung cấp máy chủ là 192.168.0.100 và cổng là 8888 -> Lưu
Goto trình duyệt iPhone -> Tải chls.pro/ssl -> Nó sẽ hiển thị cửa sổ bật lên bên dưới '
Trang web đang cố gắng tải xuống hồ sơ cấu hình. Bạn muốn cho phép điều này? Nút bỏ qua và nút Cho phép
Nhấp vào nút Cho phép -> Nó sẽ tải xuống hồ sơ
Đối với tôi, đây là những gì đã làm việc.
Tôi đã làm điều tương tự như chúng tôi làm trong thiết bị.
Tôi phải thực hiện việc này trên 3 phiên bản giả lập, vì kiểm tra tự động hóa XCUI có thể quay 3.