2015-10-08 34 views
1

我不能讓查爾斯與Alamofire工作,我總是得到:iOS版 - 使用查爾斯Alamofire和SSL

SSLHandshake:遠程主機關閉握手 期間連接您可能需要配置您的瀏覽器或應用信任查爾斯根證書。請參閱幫助菜單中的SSL代理。

我確實在iOS模擬器中安裝了Charles根證書,並添加了連接到SSL代理設置的主機。你有任何進一步的建議? 非常感謝!

回答

3

這可能是由於在iOS版9.除了應用運輸保安要允許您需要將以下添加到您的應用程序的Info.plist的SLL交通查爾斯訪問:

​​

(從Charles' FAQ on the subject

注意:您可能只想做調試的目的,而不是將您的應用程序與ATS基本禁用。

2

除了Thor描述的NSAppTransportSecurity之外,您還必須信任該證書。如果你去查爾斯的「幫助」菜單,你會看到一個「SSL代理」子菜單。當我從該子菜單中選擇「安裝Charles Root Certificate」和「在iOS模擬器中安裝Charles Root證書」時,我可以成功代理https請求。顯然,我還將相關主機添加到「代理」 - 「SSL代理設置」(例如,端口爲*和完整的主機名)。

+0

這是正確答案 – Josh

1

在iOS11上,我錯過了這個額外的步驟。

Settings應用,

導航到GeneralAboutCertificate settings

啓用Charles Proxy SSL Proxying開關。