【iOS】Alamofire库在iOS7下设置Head无效的问题

同样的代码在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但是没有效果) 

本文转自博客园农民伯伯的博客,原文链接:【iOS】Alamofire库在iOS7下设置Head无效的问题,如需转载请自行联系原博主。

时间: 2017-12-04
Tags: ios, request

【iOS】Alamofire库在iOS7下设置Head无效的问题的相关文章

解决Alamofire库在iOS7下设置Head无效的问题_IOS

同样的代码在iOS8下没有问题,iOS7就取不到数据(会包Cocoa Error 3840之类的错误),跟踪发现请求Head参数设置不管用,根据文字底部的参考改了一下兼容代码: 代码 private func getRequest(method: Method, _ URLString: URLStringConvertible, parameters: [String: AnyObject]? = nil) -> NSMutableURLRequest { let request = NSMu

iOS 开发库(iOS Developer Library)

iOS 开发库(iOS Developer Library) 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 以下为详尽部分,如感觉过于冗长,可移步<iOS 开发库概要(iOS Devel

【原创】VS2010下编译的库在VC6下使用问题

    之前因为工作需要,深入研究了 rabbitmq 的 C 代码,并以 libevent 为基础将其改造成事件驱动的单线程模型.由于一直都是自己写库封装和 demo 代码来测试,所以上述库都以 VS2010 的静态库(.lib)形式提供.前天,终于有业务人员要基于这个 demo 写东西了,但却发现编译链接都不行,究其原因是由于所用的编译器 VC6 太老旧的缘故.  库的跨编译器使用问题属于老生常谈,网上的资料也很多,这里出现的内容网上也都有,可以对比参阅.  起因: 我提供了 rabbitm

够快云库如何对企业云库文件夹的设置权限

  够快云库是一款企业级的移动云存储办公系统,很多的云库文件夹要设置阅读和下载权限,管理员们要如何对够快云库的企业云库文件夹设置权限呢? 前提条件: 需要有库管理权限,即库管理员能对企业云库的文件夹设置权限. 库管理员登陆其云库账号,客户端和网页端均可,对库成员设置某文件夹权限. 具体操作步骤: 1.选择库管理权限下的企业云库; 2.选中库中某一文件夹,点击鼠标右键菜单"设置权限"; 3.弹出"设置权限"对话框,可搜索库成员,设置其对该文件夹的操作权限. 文件夹权限

27个提升效率的iOS开源库推荐

DZNEmptyDataSet(UI,空表格视图解算器) PDTSimpleCalendar(UI,drop-in日历组件) MagicalRecord(实施活跃记录模式的Core Data助手) Chameleon(UI,色彩框架) Alamofire(Swift 网络) TextFieldEffects (UI,自定义外观的文本区域) GPUImage(快速图片处理) iRate(获取用户评价) GameCenterManager(快速管理游戏中心) PKRevealController 2

VS中添加第三方库及相对路径设置

原文 VS中添加第三方库及相对路径设置 对于一些第三方的SDK,一般会包含头文件(*.h),静态库文件(*.lib)和动态库文件(*.dll). 1.  文件位置:为了提高程序的可移植性,将第三库放在解决方案(*.sln)或者工程(*.vcxproj)文件所在的文件夹下.而不要放在其他地方,比如放在D:\某个位置,这样的话,程序在别的电脑上可能就无法运行了. 2.  头文件:在工程属性->VC++目录->包含目录中添加头文件目录 : 使用相对路径添加. 3. 静态库文件:在工程属性->V

iOS 开发库概要(iOS Developer Library Summary)

  iOS 开发库概要(iOS Developer Library Summary) 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 注:多好的一篇总结,可惜了,被大篇幅的细节拖累,看官们都生惧

CPPCMS库在Windows下的使用

标题:CPPCMS库在Windows下的使用时间:2012-7作者:Kagula 环境:[1]WinXP SP3[2]VisualStudio2008 SP1[3]ZLib 1.2.7[4]PCRE 8.31[5]Python 2.7.3 第一步:配置编译环境ZLib库[1-1]进行VS2008命令行模式(若无特殊说明,全部命令均在这种模式下运行)[1-2]zlib库 1.2.7下载并解压到e:\sdk[1-3]进入到E:\SDK\zlib-1.2.7\win32目录下面,执行下面的命令,生成I

如何在windows 7下设置挂载Linux服务器nfs共享的数据

win7下增加了很多有用的功能,只是默认没有开启而已,今天简述下一个WIN7下的NFS功能,通过这个功能,可以让win7共享Linux下面的磁盘分区或者目录数据,这个功能原理只能通过samba或者ftp来实现,并且配置复杂,而现在通过在win7下开启NFS功能,只需一分钟时间即可完成配置,简单方便. 1:首先是在linux下设置nfs数据共享 [root@localhost ~]# more /etc/exports /app   192.168.12.134(rw,no_root_squash