2012-11-19 53 views
2

我想知道你們中的任何一個人是否使用AFNetworking框架進行了下載速度限制。我的應用程序使用AFN下載大文件,我想介紹一個速度限制功能。AFNetworking和下載速度限制

我最好猜它睡在AFURLConnectionOperation方法裏面的操作connection:(NSURLConnection *) connection didReceiveData:(NSData *)data?如果這是正確的方法,如何最好地實施它以避免任何超時等。 有什麼想法?

謝謝!

+0

有關這個問題的任何想法? – Thunder

+0

使用正常速度下載,然後調用'NSThread.sleep' :) – Tricertops

回答

1

我試過使用這種方法,但它並沒有太大的前景。

如果您在NSURLConnection的connection:didReceiveData:中使用睡眠等,它會接收數據並填充其緩衝區(最大延遲爲1MB,全速網絡),然後調用connection:didReceiveData:。有了這個,你會給淨使用率的尖峯。我不認爲這是你想要的。

1

你可以使用兩種不同的技術扼殺網絡:

  • 使用蘋果的「網絡鏈接潤髮」

    • 如果你是一個開發人員的設備上測試:進入「設置」 >「開發人員」>「網絡鏈接調節器」,切換到啓用並選擇一個配置文件
    • 如果您在模擬器上測試,這將使用Mac自己的網絡連接,您可以下載「網絡鏈接調節器」 efpane爲OSX(見Mattt's article here on NSHipster
  • 或者use OHHTTPStubs它可以同時存根一些假數據(用於測試非常有用,包括產生一些錯誤的情況在現實生活中不容易複製)您的要求,也在響應中引入延遲假網絡延遲和慢速網絡。 (你可以在Google上搜索使用AFNetworking的例子,有很多關於它的文章)