您的位置:首页 > 理论基础 > 计算机网络

AFNetworking迁移到3.1.0

2016-06-13 15:26 796 查看
>2.6.1版本的坑:
偶现发起下载请求,成功收到200回应,但是一直没有收到didReceiveData回调。这种情况只能cancel后重新下。

>断点续传:
网上有些文章把断点续传的使用写得很麻烦。
使用下面两行即可:
            NSString *range = [NSString stringWithFormat:@"bytes=%lld-", preSize];
            [self.downloadManager.requestSerializer setValue:range forHTTPHeaderField:@"Range"];

>2.6.1迁移到3.1.0
没有遇到大的问题,主要是改为NSURLSessionTask的方式。
和2.x的明显区别是很多数据结构需要自己管理了。好处是AFNetworking3.x本身显得更简洁。
3.1.0暂未遇到收到200回应但是一直没有didReceiveData回调的问题。

3.1.0的问题:
暂停(调用suspend)后,过了20s又回调报超时错误:
 __download:]_block_invoke.488 http|下载|出错:Error Domain=NSURLErrorDomain Code=-1001 "请求超时。" UserInfo={NSUnderlyingError=0x158b9d5b0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102,
_kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=fileURL, NSErrorFailingURLKey=fileURL, _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=请求超时。}

暂停只好用取消(cancel接口)代替. 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oc iOS 网络请求