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

 更新时间:2016年07月22日 14:55:10   投稿:lqh  
本文主要介绍Alamofire库在iOS下设置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 swift3.0 下闭包语法整理

    IOS swift3.0 下闭包语法整理

    这篇文章主要介绍了IOS swift3.0 下闭包语法整理的相关资料,需要的朋友可以参考下
    2016-11-11
  • swift 常用高阶函数分享

    swift 常用高阶函数分享

    Swift是一门面向协议的语言,在使用Swift时我们已经充分享受到了面向协议编程带给我们的便利,但是Swift相比Obj-C还有一个更重要的优点,那就是对函数式编程提供了很好的支持,其中Swift提供了map,filter,reduce这三个高阶函数Higher Order function作为对容器的支持
    2017-12-12
  • iOS逆向工程使用LLDB的USB连接调试第三方App

    iOS逆向工程使用LLDB的USB连接调试第三方App

    这篇文章主要介绍了iOS逆向工程使用LLDB的USB连接调试第三方App,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • iOS中定位当前位置坐标及转换为火星坐标的方法

    iOS中定位当前位置坐标及转换为火星坐标的方法

    这篇文章主要介绍了iOS中获取当前位置坐标及转换为火星坐标的方法,这里的火星坐标指的是我国专门研制的一种加密的坐标系统...需要的朋友可以参考下
    2016-02-02
  • 浅析IOS开发TouchID指纹解锁功能

    浅析IOS开发TouchID指纹解锁功能

    TouchID指纹解锁功能现在在app中已经很常见,其实这个功能实现起来是很简单的,因为苹果都已经帮我们封装好了,只需要实现几个方法就可以了。下面来一起看看。
    2016-09-09
  • iOS 底部按钮和应用图标显示未读消息(带数字)

    iOS 底部按钮和应用图标显示未读消息(带数字)

    本文主要介绍了iOS 底部按钮和应用图标显示未读消息的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • 讨论在线教室 iOS 端声音问题综合解决方案

    讨论在线教室 iOS 端声音问题综合解决方案

    这篇文章主要介绍了在线教室 IOS 端声音问题综合解决方案,从背景介绍,到技术总结,再到行业现状,都进行了细致的说明,建议同学们仔细看一下
    2021-04-04
  • iOS中捕获日志与异常示例详解

    iOS中捕获日志与异常示例详解

    在日常的工作中,日志是不可缺少的一个环节,下面这篇文章主要给大家介绍了iOS中捕获日志与异常的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-04-04
  • iOS 10 推送高阶篇(必看)

    iOS 10 推送高阶篇(必看)

    本文重点给大家介绍ios10 推送的所有通知类,所以说这篇教程是ios10推送必看篇,感兴趣的朋友快来一起学习吧
    2016-09-09
  • iOS中的应用启动原理以及嵌套模型开发示例详解

    iOS中的应用启动原理以及嵌套模型开发示例详解

    这篇文章主要介绍了iOS中的应用启动原理以及嵌套模型开发示例详解,代码基于传统的Objective-C,需要的朋友可以参考下
    2015-12-12

最新评论