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

同样的代码在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软件的同学。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索ios
, head
, Alamofire
, 设置Head
Head使用
alamofire ios7、alamofire、alamofire swift3.0、alamofire github、alamofire https,以便于您获取更多的相关知识。

时间: 2024-09-27 06:12:35

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

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

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

win7系统下设置打印机共享无法保存的解决方法

  众所周知,在企业用户中,都会组建局域网用来更好的传播和共享相关文档,当然打印机也可以在局域网下实现公用的,让局域网中的所有电脑连接打印机,可实现不同的电脑上打印文件,不过有部分win7用户发现,在win7系统下设置打印机共享时,出现无法保存的问题,对于用户遇到该问题应该如何解决呢?下面看小编为大家带来的操作方法! 操作步骤: 第一步:我们需要在控制面板中找到并打开防火墙! 第二步:使用推荐设置或启用防火墙. 第三步:如果上述步骤不能开启防火墙,则可以在服务中找到 Windows firewa

javascrpit-ie 8 下设置bodyzoom属性125%之后页面向右靠 ,有办法解决么 ?chrome下正常

问题描述 ie 8 下设置bodyzoom属性125%之后页面向右靠 ,有办法解决么 ?chrome下正常 各位亲 有办法解决么 ?就是最后起到放大 页面的效果,结果 ie和chrome的效果不一致 解决方案 设 margin-left:-25px; 在css属性最后添加表示只有ie能识别.居然在百度知道有人回答了,特意把回答站过来原回答地址:http://zhidao.baidu.com/question/369696797863553324.html

求专业人士帮我解决下这个内存溢出的问题,如果确实是jvm和tomcat内存的问题,请说明下设置步骤?

问题描述 求专业人士帮我解决下这个内存溢出的问题,如果确实是jvm和tomcat内存的问题,请说明下设置步骤? 我用myeclipse编写项目,在确认代码无误的情况下,加载到tomcat里运行,结果出现了内存溢出问题,详细异常信息如下: Exception in thread "http-apr-8080-exec-13" java.lang.OutOfMemoryError: Direct buffer memory at java.nio.Bits.reserveMemory(Un

CentOS下设置中文编码设置和中文乱码解决

CentOS下设置中文编码设置: 1:安装支持中文: yum -y group install chinese-support 2:修改字符编码配置文件: 默认设置为英文: [root@Tony_ts_tian sysconfig]# pwd /etc/sysconfig [root@Tony_ts_tian sysconfig]# cat i18n LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16" 设置为中文: [roo

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

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

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

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

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

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

手机情景模式跟下拉菜单下设置静音,振动,打电话过来无效,自动恢复成标准

问题描述 手机情景模式跟下拉菜单下设置静音,振动,打电话过来无效,自动恢复成标准 手机情景模式跟下拉菜单下设置静音,振动,可证实已设置好但打电话过来,奇迹地响铃了,情景模式中从"静音"选中变成"标准"选中,下拉菜单中也变成"标准"选中 但是如果不是打电话过来.是发短信过来就无此Bug,求解啊....... 请求代码解决此Bug 此问题已解决,谢谢各位. 答案是:安装了一个"通讯助手",就有此Bug了,卸载掉就好了. 解决方案