AFNetworking和下载速度限制

时间:2012-11-19 15:23:26

标签: objective-c afnetworking throttling

我想知道你们中是否有人使用AFNetworking框架进行下载速度限制。我的应用程序使用AFN下载大文件,我也想介绍速度限制功能。

我最好猜测在AFURLConnectionOperation方法connection:(NSURLConnection *) connection didReceiveData:(NSData *)data内进行操作?如果这是正确的方法,如何最好地实现它以避免任何超时等。 有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

我尝试过使用这种方法但不太有希望。

如果你在NSURLConnection的connection:didReceiveData:中使用睡眠等,它会接收数据并填充其缓冲区(最大延迟时间为1MB,全速网),然后调用connection:didReceiveData:。有了它,您将获得净使用量的峰值。我认为这不是你想要的。

答案 1 :(得分:1)

您可以使用两种不同的技术来限制网络:

  • 使用Apple的"网络链接调节器"

    • 如果您在支持开发人员的设备上进行测试:请转到"设置" > "开发人员" > "网络链接调节器",切换到启用并选择配置文件
    • 如果您在使用Mac自己的网络连接的模拟器上进行测试,您可以下载"网络链路调节器" OSX的预备(参见Mattt's article here on NSHipster
  • use OHHTTPStubs哪些可以将您的请求存根与一些虚假数据(对测试非常有用,包括生成一些在现实生活中不易重现的错误情况),还可以引入响应延迟虚假网络延迟和慢速网络。 (您可以使用AFNetworking在Google上搜索使用它的示例,有很多关于它的文章)