2009-07-03 76 views
14

如果我找不到互聯網連接,Apple希望我給用戶一個友好的道歉。使用可達性演示,這很簡單。我想更進一步並監控連接丟失情況。該演示具有此功能,但我無法弄清楚如何關閉我的連接以測試它是否可用。IPhone連接測試:我如何強制它失去連接?

我該如何去模擬連接丟失(或實際丟失)?

回答

18

如果您正在開發iPhone模擬器,只需將您的計算機與互聯網斷開即可。如果您的計算機沒有網絡訪問權限,那麼iPhone Simulator也不會。

要測試設備上,你可以做到以下幾點:

首先,設置一個無線網絡,您可以使用測試路由器。

您可以打開手機上的飛行模式,然後重新打開WiFi。這將阻止3G連接提供數據訪問。

啓動您的應用程序。現在,您只需斷開WiFi路由器即可模擬連接丟失。

+14

或嘗試法拉第籠? http://en.wikipedia.org/wiki/Faraday_cage – russau 2009-07-03 04:26:24

+1

我通常戴着一頂鐵皮帽,所以籠子是一個自然的進步。嘿 謝謝Joey,我想在設備上測試。乾杯。 – 2009-07-03 04:43:15

+2

您可以將手機放在微波爐中模擬真實的連接丟失......只要記住不要打開微波爐! – Sam 2012-05-15 13:22:18

13

您可以使用SpeedLimit preference pane來模擬模擬器下的網絡延遲。在ipfw命令之上構建了一個command line version

與僅僅延長線纜或查殺WiFi相比,您可以在擊中特定主機時指定速度,因此可以在不中斷常規網絡服務的情況下進行測試。

+0

謝謝,SpeedLimit的東西非常有用。 – 2011-12-08 20:08:16

4

對於在模擬器中進行測試,我非常使用Little Snitch。這是一個非常有用的應用程序,用於編寫關於可以與外部世界進行溝通的規則以及多長時間。

它也會通知您,如果應用程序希望隨時訪問互聯網,並且您可以臨時限制訪問時間,該會話或永久。

至於設備上的測試,我登錄到我的無線路由器,並在測試期間臨時禁用網絡或通過MAC ID開啓限制。

2

也許這個首選項窗格對你也很有用:SpeedLimit.prefPane它不能失去連接,但是你可以根據你試圖訪問的主機和端口來減慢它。

4

使用Charles Web Proxy 您可以檢查您的應用程序發送的所有HTTP/S請求以及它接收到的響應,通過節制連接來模擬任何網絡速度。使用Bandwidth = 0創建名爲「Disconnected」的自定義調節器配置文件,以模擬網絡斷開連接。

12

你可以安裝蘋果的網絡鏈接調理

在優勝美地:

網絡鏈接調理可以在「硬件IO工具Xcode的」包中找到。這可以從Apple Developer Downloads page下載。下載完成後,打開DMG並雙擊「Network Link Condition.prefPane」進行安裝(source)。

使用此首選項面板,您可以創建速度爲0kbps的配置文件。

Network Link Conditioner

在舊版本的OSX的:

山獅/小牛:Xcode > Open Developer Tool > More Developer Tools
獅子:/Developer/Applications/Utilities/Network Link Conditioner

0

搜索類似的需求,即模擬在真實設備有損WiFi網絡連接,我想出瞭如何做到這一點:) 我連接了我的MacBook Pro的以太網和共享我的Wifi連接到設備。 使用Apple的Network Link Conditioner Prefpane,讓我玩連接質量。 模擬3G,Edge和其他波特率非常有用。

下一步:找到併購買一個工作在MAC OS X上的usb wifi適配器,讓我們所有人(開發者團隊)進行測試,無需將每臺計算機連接到以太網。

希望這會幫助你們中的一些人。