热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

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

本文主要介绍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软件的同学。


推荐阅读
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 运行就报对我有效的解决方法是:把真机和模拟器需要的文件手动加入其中,具体请参考网络上提供的其他解决方 ... [详细]
  • jsappsugar,基于,js,语法,定义 ... [详细]
  • 2015年iOS测试现状
    本文由伯乐在线-nathanw翻译,dopcn校稿。未经许可,禁止转载!英文出处:www.mokacoding.com。欢迎加入翻译小组。几周前,我决定将将我在mokacoding ... [详细]
  • 我的iOS开发入门自学路径
    我有一个清单,列着希望在大学里完成的事。比如,学一门乐器,和朋友去旅游,搭建自己的博客,去滑翔,看各主题的书籍。其中一项是,写自己的App并且上架。去年开始,我准备完成这一项,所以 ... [详细]
  • iOS Open Source : Popover API for iPhone
    iOS Open Source : Popover API for iPhone ... [详细]
  • CocoaChina2013开发者大会演讲稿主会场陈昊芝
    2019独角兽企业重金招聘Python工程师标准CocoaChina2013开发者大会演讲稿-主会场-陈昊芝2010中国团队海外iOS收入突破50万美金,2011年中国团队国 ... [详细]
  • [WWDC] What's New in Swift 4 ?
    前言本文主要是笔者小结WWDC2017中《WhatsNewinSwift》的Session,其中也掺杂了些《What’sNewinFoundation》, ... [详细]
  • 最近在研究可用的第三方的图标控件,然后网上搜了之后,感觉功能比较强大的就是CorePlot了,于是就开始研究如何部署到程序中。网上关于这方面的教程比较少,大部分都是objectiv ... [详细]
  • 发码有管理的似乎只有cocoachina:建议可以先放个20,不要50一次性如何知道哪些推广码被使用了发了50个,报表里只有40个时通过推广码下载的,想知道都 ... [详细]
  • IOS APP自动化测试 真机测试 遇到的坑
    1. 'CocoaAsyncSocketCocoaAsyncSocket.h'filenotfoundusrlocalnversionsnode10.4.0libn ... [详细]
  • 一.什么是垃圾回收曾几何时,内存管理是程序员开发应用的一大难题。传统的系统级编程语言(主要指CC++)中,程序员必须对内存小心的进行管理操作,控制内存的申请及释放。稍有不慎,就可能 ... [详细]
  • ios原生骨架库,网络过渡动画封装
    最新版2.0.5,release版本目录关于TABAnimated实现原理优点演变过程效果图安装使用Cocoapods手动导入使用步骤扩展回调Tips属性相关强调最后关于TABAn ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
author-avatar
你好cd_197
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有