Objective c AFN网络和下载速度限制

Objective c AFN网络和下载速度限制,objective-c,afnetworking,throttling,Objective C,Afnetworking,Throttling,我想知道你们中是否有人使用AFNetworking框架限制了下载速度。我的应用程序使用AFN下载大文件,我还想介绍一个限速功能 我的最佳猜测是将操作休眠在URLConnectionOperation方法连接:(NSURLConnection*)连接didReceiveData:(NSData*)数据?如果这是正确的方法,如何最好地实现它以避免任何超时等。 有什么想法吗 谢谢 我尝试过使用这种方法,但没有多大希望 如果您在NSURLConnection的connection:didReceiveD

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

我的最佳猜测是将操作休眠在URLConnectionOperation方法
连接:(NSURLConnection*)连接didReceiveData:(NSData*)数据
?如果这是正确的方法,如何最好地实现它以避免任何超时等。 有什么想法吗


谢谢

我尝试过使用这种方法,但没有多大希望


如果您在NSURLConnection的
connection:didReceiveData:
中使用sleep etc,它将接收数据并填充其缓冲区(全速网络的最大延迟约为1MB),然后调用
connection:didReceiveData:
。有了这一点,您将获得网络使用率的峰值。我认为这不是你想要的。

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

  • 使用苹果的“网络链接调节器”

    • 如果您正在启用开发人员的设备上进行测试:请转到“设置”>“开发人员”>“网络链接调节器”,打开开关以启用并选择配置文件
    • 如果您正在使用Mac自己的网络连接的模拟器上进行测试,您可以下载OSX的“网络链接调节器”prefpane(请参阅)
  • 或者,它既可以用一些虚假数据存留您的请求(对测试非常有用,包括生成一些在现实生活中不容易重现的错误案例),也可以在响应中引入延迟假网络延迟和网络速度慢。(你可以在谷歌上搜索使用AFNetworking的例子,关于它的文章很多)


使用正常速度下载,然后调用
NSThread.sleep
:)