在最初接觸到iOS開發,切換正式與測試網絡環境是經過切換網絡地址域名的方式,本地定義一個宏定義實現域名的切換,這種方式確實比較的方便。後來本身又瞭解了另一種切換網絡環境的方式,就是切換host,在工程代碼裏面不須要作額外的配置。最開始一直使用同事配置好的環境,但後來發現有時仍是不太方便,因而在本身的電腦也倒騰了一下,最後也能成功在真機上切換到正式測試環境,期間也遇到許多坑,下面介紹一下如何配置。git
經過終端命令安裝github
brew cask install switchhosts
複製代碼
安裝成功以後緩存
將須要添加的host粘貼到指定的host名下便可,打開開關便可切換(注意:這裏電腦的host是能夠切換成功,當你用真機連上電腦共享出的wifi,發現仍是沒有切換,這時須要用到Dnsmasq工具)bash
DNSmasq是一個小巧且方便地用於配置DNS和DHCP的工具,適用於小型網絡,它提供了DNS功能和可選擇的DHCP功能。它服務那些只在本地適用的域名,這些域名是不會在全球的DNS服務器中出現的。DHCP服務器和DNS服務器結合,而且容許DHCP分配的地址能在DNS中正常解析,而這些DHCP分配的地址和相關命令能夠配置到每臺主機中,也能夠配置到一臺核心設備中(好比路由器),DNSmasq支持靜態和動態兩種DHCP配置方式。服務器
—百度百科網絡
brew link dnsmasq
複製代碼
resolv-file=/usr/local/etc/resolv.dnsmasq.conf
strict-order
listen-address=127.0.0.1
addn-hosts=/usr/local/etc/dnsmasq.hosts
conf-dir=/usr/local/etc/dnsmasq.d
cache-size=10000
複製代碼
名詞解釋:工具
resolv-file
上游DNS服務配置strict-order
嚴格按照上述文件中的配置順序執行listen-address
監聽請求的地址(127.0.0.1:僅本機,0.0.0.0:任何人)addn-hosts
一些你須要的解析結果conf-dir
其餘配置路徑cache-size
緩存大小//中止服務
sudo brew services stop dnsmasq
//sudo brew services restart dnsmasq
//刷新DNS緩存
sudo killall -HUP mDNSResponder
複製代碼
注意:點擊SwitchHosts切換後,若是發現未切換到想要的環境可按順序執行以上命令測試
刪除默認DNS,添加電腦的IP地址,以下圖所示:ui
最後打開手機訪問發現已經連上測試環境了,超開心吧O(∩_∩)O~~。spa