How to use Charles Proxy on the Xcode 6 (iOS 8) Simulator?

后端 未结 13 1142
情书的邮戳
情书的邮戳 2020-12-07 08:38

It seems that the directory for the iOS Simulator has changed. It used to be in ~/Library/Application\\ Support/iPhone\\ Simulator/ and now it\'s in ~/Lib

相关标签:
13条回答
  • 2020-12-07 09:03

    I just tested Charles over Xcode 7 / iOS9 simulator. Just a few pointers I want to add if you're having trouble:

    • Make sure "Enable Mac OS proxy" and "Use HTTP Proxy" are checked under Charles' Proxy | Proxy Settings; and optionally check "Enable Mac OS X proxy at startup" if you don't want to do this step every time you start Charles.
    • If your Automatic Proxy Configuration (and/or Auto Proxy Discovery) is set in your System Preferences | Network, you need to uncheck it lest Charles' Web Proxy (HTTP) and Secure Web Proxy (HTTPS) will not take effect.
    • If your company requires proxy server independent of Charles, you need to manually replicate the settings inside Charles lest they are overridden by Charles and you won't be able to access the internet. Make note of the proxy URL and port numbers before starting Charles. Transcribe these Web Proxy and Secure Web Proxy settings under Charles' Proxy | External Proxy Settings.
    • "Enable SSL Proxying" and add your endpoint on the list, via Charles' Proxy | SSL Proxying Settings.
    • "Install Charles Root Certificate in iOS Simulator" via Charles' Help | SSL Proxying menu.
    • And yeah, make sure Charles is setup and started first before you start the simulator.
    • Finally for now, disable ATS during development until we hear more from Apple.
    0 讨论(0)
  • 2020-12-07 09:04

    Update for iOS 9: You have to disable App Transport Security to use Charles!

    http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/

    0 讨论(0)
  • 2020-12-07 09:07

    Update: Charles 3.9.3+ has a built-in function to configure your iOS Simulators (i.e. installing the Charles SSL Certificate). This can be found in the Help menu within the Charles application. (Help > SSL Proxying > Install Charles Root Certificate in iOS Simulators)

    The following applies to Charles 3.9.2:

    Download the configuration shell script from the Charles Proxy website. Then, replace the script with the following, and run it on your 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"
    

    Some things to note:

    • you must open Charles before launching the simulator. If you close Charles, network requests will fail until you restart the simulator
    • you will need to do this every time you "Reset Content and Settings..." on the simulator
    • For Xcode 5: if you're looking to setup Charles Proxy on Xcode 5 and earlier, you don't need to modify the original script. Just download it from the Charles website and run it as-is
    0 讨论(0)
  • 2020-12-07 09:10

    Another way to do it is to browse to the certificate http://charlesproxy.com/charles.crt on the device

    which will present you with the screen:

    install certificate prompt screen

    0 讨论(0)
  • 2020-12-07 09:12

    It works for me after go to safari (simulator) and visit the URL:

    chls.pro/ssl 
    

    Before I had to Install charles root certificate in iOS simulators (Charles: help/SSLproxying)

    regards

    0 讨论(0)
  • 2020-12-07 09:14

    I didnt see the configuration shell script on that page. I did the following and it worked for me:

    http://raptureinvenice.com/getting-the-charles-debugging-proxy-to-work-with-ios-and-genymotion/

    0 讨论(0)
提交回复
热议问题