解决Alamofire库在iOS7下设置Head无效的问题
2016-07-22 14:55
477 查看
同样的代码在iOS8下没有问题,iOS7就取不到数据(会包Cocoa Error 3840之类的错误),跟踪发现请求Head参数设置不管用,根据文字底部的参考改了一下兼容代码:
代码 private func getRequest(method: Method, _ URLString: URLStringConvertible, parameters: [String: AnyObject]? = nil) -> NSMutableURLRequest { let request = NSMutableURLRequest(URL: NSURL(string: URLString.URLString)!) request.HTTPMethod = method.rawValue if parameters != nil { request.HTTPBody = NSJSONSerialization.dataWithJSONObject(parameters!, options: nil, error: nil) } request.setValue(API_UA, forHTTPHeaderField: "User-Agent") request.setValue(HEADER_ACCEPT, forHTTPHeaderField: "Accept") request.setValue("application/json", forHTTPHeaderField: "Content-Type") return request }
这里API_UA和HEADER_ACCEPT更改为自己的Head参数即可,使用代码:
var request: Request! if DeviceUtils.isIOS7() { request = mHttpManager.request(getRequest(method, URLString, parameters: parameters)) } else { request = mHttpManager.request(method, URLString , parameters: parameters, encoding: ParameterEncoding.JSON) } //request.responseJSON....
代码说明:
a)、 mHttpManager就是Manager.sharedInstance,注意别忘了设置mHttpManager.session.configuration.HTTPAdditionalHeaders,在iOS8下还是管用的
参考:
Setting Custom HTTP Headers in Alamofire in iOS 7 not working (参考帖子,也尝试设置NSURLSessionConfiguration但是没有效果)
以上就是对Alamofire库在iOS下设置Head的资料整理,希望能帮助开发IOS软件的同学。
您可能感兴趣的文章:
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 深入HTTP head的使用详解
- JS使用ajax方法获取指定url的head信息中指定字段值的方法
- 一天一个shell命令 linux文本操作系列-head,tail命令详解
- html页面head区域的编码书写规范
- JS代码放在head和body中的区别分析
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用开发中AFNetworking库的常用HTTP操作方法小结
- iOS应用中UISearchDisplayController搜索效果的用法
- iOS App开发中的UISegmentedControl分段组件用法总结
- IOS开发环境windows化攻略
- iOS应用中UITableView左滑自定义选项及批量删除的实现