2011-01-28 95 views
2

我的iOS應用程序的功能之一是從特定服務器下載文件。此下載完全發生在後臺,而用戶正在使用該應用程序。下載完成後,與該文件關聯的資源將出現在應用程序屏幕上。如何在網絡在下載文件時失敗的情況下測試可可觸摸應用程序?

我的用戶報告了一些關於我無法複製的資源缺失的錯誤行爲。一些附帶信息導致我懷疑問題是由於資源文件的下載在中途中止而造成的。然後該應用程序有一個部分下載的文件,永遠不會完成。爲了確認假設,爲了確保任何修復工作,並測試我腳下的這種隨機網絡消失,我想模擬我的測試環境中網絡的丟失情況:測試服務器在Web上共享我的開發Mac,測試設備是在同一臺Mac上運行的iOS模擬器。

是否有一種更方便的方法來做到這一點,而不是手動將Web共享關閉在斷點上?

回答

0

根據您下載文件的方式,一種可能的選擇是將回調代理設置爲在下載過程中爲空。它仍會下載數據,但您的應用程序只會停止接收回調。雖然,我不知道如果應用程序真正放棄了連接,它是如何工作的。

另一種選擇是暫時將下載請求指向外部Web服務器上的某個隨機文件,然後中途將您的計算機與互聯網斷開。我已經做到了這一點,以測試網絡連接問題,它通常工作。在你的情況有趣的問題是,你從你自己的電腦下載,所以斷開連接將無濟於事。這只是因爲您可以在發生這種情況時確定應用程序中的回調順序,(它會根據什麼順序進行回調?),以便您可以在實際指向測試服務器時模擬該行爲。

將這兩個選項結合在一起,我猜,以獲得最佳解決方案。

相關問題