1. 程式人生 > >iOS開發模擬網路狀態差進行除錯

iOS開發模擬網路狀態差進行除錯

在開發iOS的過程當中,我們經常需要模擬不同的網路環境,來對程式進行測試。以下是分別對模擬器和真機狀態下的兩種不同的方法,親測有效。

1.模擬器情況下

模擬器方面,蘋果給我們提供了一個很實用的工具,Network Link Conditioner可以模擬各種不同狀況下的網路環境,方便我們進行測試。

安裝

Network Link Conditioner位於”Hardware IO Tools for Xcode”工具包中,這個包可以在Apple Developer Downloads下載得到,然後搜尋Hardware IO Tools for Xcode,選擇一個符合自己版本的下載。(具體的點選看某個Hardware IO Tools for Xcode看詳情介紹)一般是最新的即可。 


下載完成後,開啟DMG檔案,然後雙擊”Network Link Condition.prefPane”進行安裝。 
選擇安裝的圖片 
安裝完成後,我們就可以在系統設定面板中的最下面找到它。 
安裝完以後的 
開啟Network Link Conditioner的控制面板,我們就可以改變iPhone模擬器的網路環境,它提供了很多不同的網路狀態,包括:

  • EDGE(2G)
  • 3G
  • DSL(電話線上網)
  • WiFi
  • High Latency DNS(高延遲)
  • Very Bad Network(網路狀況不穩定)
  • 100% Loss(全丟包)

每一個狀態都可以對頻寬、延時和丟包率進行設定(如果任一項的值被設定為零,則那一項的值就與本機電腦的網路狀態一致)。除了預設提供的配置,我們也可以建立自己的網路狀態,以滿足特殊的需求。可以點選Manage profiles

,設定相應的狀態。

選擇後的樣子

2.真機情況下

其實Apple在iOS系統中預置了網路除錯工具,但是隻有新增過測試裝置,並使用XCode連線下裝置才能啟用. 
這時只要去設定中就可以看到多出來一項:開發者 
開發者選項

點選開發者進去,然後看到中間的那行NETWORK LINK CONDITIONER

NETWORK LINK CONDITIONER

其中Status是表示網路限制是否開啟,點選進去就可看到詳細設定

狀態

PS:這項開啟後影響的是整個系統,所以除錯完畢後不要忘記關掉,免得奇怪網路狀態咋不正常了。。。