AFNetworking 3.0版本迁移指南

ios-基于AFN3.0封装自带缓存.zip 升级为3.0版本 简化API,以降低使用的要求 增加GET/POST数据缓存、获取缓存大小、清空缓存功能 接口增加刷新缓存功能 增加取消所有请求、取消单个请求功能 格式化打印日志 增加对手动取消请求接口是否在失败时还回调的控制 博文专门介绍如何使用:http://www.henishuo.com/base-on-afnetworking3-0-wrapper/ 支持POD,请到GITHUB下载:https://github.com/CoderJackyHuang/HYBNetworking 坚持维护着! 立即下载


AFNetworking 3.0迁移指南

AFNetworking 3.0

AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本。本指南将引导您完成这个过程。

本指南是为了引导使用AFNetworking 2.x升级到最新的版本API,以达到过渡的目的,并且解释了新增和更改的设计结构。

新设备要求: iOS 7, Mac OS X 10.9, watchOS 2, tvOS 9, & Xcode 7

AFNetworking 3.0正式支持的iOS 7, Mac OS X的10.9, watchOS 2 , tvOS 9 和Xcode 7。如果你想使用AFNetworking在针对较旧版本的SDK项目,请检查README的兼容性信息。

NSURLConnection的API已废弃

AFNetworking 1.0建立在NSURLConnection的基础API之上 ,AFNetworking 2.0开始使用NSURLConnection的基础API ,以及较新基于NSURLSession的API的选项。 AFNetworking 3.0现已完全基于NSURLSession的API,这降低了维护的负担,同时支持苹果增强关于NSURLSession提供的任何额外功能。由于Xcode 7中,NSURLConnection的API已经正式被苹果弃用。虽然该API将继续运行,但将没有新功能将被添加,并且苹果已经通知所有基于网络的功能,以充分使NSURLSession向前发展。

AFNetworking 2.X将继续获得关键的隐患和安全补丁,但没有新的功能将被添加。Alamofire(Swift下的网络请求)软件基金会建议,所有的项目迁移到基于NSURLSession的API。

弃用的类

下面的类已从AFNetworking 3.0中废弃:

  • AFURLConnectionOperation
  • AFHTTPRequestOperation
  • AFHTTPRequestOperationManager

修改的类

下面的类包含基于NSURLConnection的API的内部实现。他们已经被使用NSURLSession重构:

  • UIImageView+AFNetworking
  • UIWebView+AFNetworking
  • UIButton+AFNetworking

迁移


AFHTTPRequestOperationManager 核心代码

如果你以前使用 AFHTTPRequestOperationManager , 你将需要迁移去使用 AFHTTPSessionManager。 以下的类在两者过渡间并没有变化:

  • securityPolicy
  • requestSerializer
  • responseSerializer

接下来举一个关于AFHTTPSessionManager的简单例子。注意HTTP网络请求返回的不再是AFHTTPRequestOperation, 修改成为了NSURLSessionTask,并且成功和失败的Block块中的参数也变更为了NSURLSessionTask,而不再是AFHTTPRequestOperation。

AFNetworking 2.x
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager GET:@"请求的url" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"成功");
} failure:^(AFHTTPRequestOperation *operation, NSError*error) {
        NSLog(@"失败");
}];
AFNetworking 3.0
AFHTTPSessionManager *session = [AFHTTPSessionManager manager];
[session GET:@"请求的url" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {
        NSLog(@"成功");
} failure:^(NSURLSessionDataTask *task, NSError *error) {
        NSLog(@"失败");        
}];
AFHTTPRequestOperation 核心代码

与NSURLConnection对象不同,每个共享应用范围的设置如会话管理、缓存策略、Cookie存储以及URL协议等,这些NSURLSession对象都可以单独进行配置。使用特定的配置来初始化会话,它可以发送任务来获取数据,并上传或下载文件。

在AFNetworking 2.0中,使用AFHTTPRequestOperation,有可能创建一个没有额外开销的独立的网络请求来获取数据。NSURLSession则需要更多的开销,为了获得所要请求的数据。

接下来,将要通过AFHTTPSessionManager创建一个单例,并创建一个任务和启动它。

AFNetworking 2.x
NSURL *URL = [NSURL URLWithString:@""];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:request];
op.responseSerializer = [AFJSONResponseSerializer serializer];
[op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", error);
}];
[[NSOperationQueue mainQueue] addOperation:op];
AFNetworking 3.0
NSURL *URL = [NSURL URLWithString:@""];
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager GET:URL.absoluteString parameters:nil success:^(NSURLSessionTask *task, id responseObject) {
        NSLog(@"JSON: %@", responseObject);
} failure:^(NSURLSessionTask *operation, NSError *error) {
        NSLog(@"Error: %@", error);
}];
UIKit的迁移

图片下载已经被重构,以遵循AlamofireImage架构与新的AFImageDownloader类。这个类的图片下载职责的代理人是UIButton与UIImageView的类目,并且提供了一些方法,在必要时可以自定义。类别中,下载远程图片的实际方法没有改变。

UIWebView的类目被重构为使用AFHTTPSessionManager作为其网络请求。

UIAlertView的类目被废弃

从AFNetworking 3.0后UIAlertView的类目因过时而被废弃。并没有提供UIAlertController类目的计划,因为这是应用程序应处理的逻辑,而不是这个库 翻译内容借鉴自简书 日暮晨曦

ios-基于AFNetworking3.0的网络请求封装,带有缓存.zip 最近很多人问一些基于AFNetworking3.0网络请求的封装,其实不用真的不用封装,唯一需要封装的地方就是客户端做缓存,统一把所有请求做了缓存接口。缓存用的是YYCache。基于AFNetworking的demo 立即下载

相关推荐

iOS应用开发中AFNetworking库的常用HTTP操作方法小结

准备 首先,你需要将AFNetworking 框架包含到工程中。如果你还没有AFNetworking的话,在这里下载最新的版本: https://github.com/AFNetworking/AFNetworking 当你解压出下载的文件后,你将看到其中有一个AFNetworking子文件夹,里面全是.h 和 .m 文件, 如下高亮显示的: 将AFNetworking拖拽到Xcode工程中. 当出现了添加文件的选项时,确保勾选上Copy items into destination group’s folder (if needed) 和 Create groups for any

AFNetworking3.0

AFNetworking 3.0 AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本。本指南将引导您完成这个过程。

qq_21213939的博客 781

基于IDEA与Mill构建Windows下的Chisel开发环境——香山处理器源码解析实战

本文详细指导如何在Windows系统下使用IDEA集成开发环境和Mill构建工具搭建Chisel开发环境,并以香山处理器源码为实战案例进行解析。内容涵盖环境准备、源码获取、工程构建、IDEA配置优化及代码阅读技巧,帮助开发者高效学习硬件设计语言。

a1b2c3d的博客 717

AFNetworking 3.0迁移指南

AFNetworking 3.0 原文链接:要看原文请跳转 简书 哦 PS:喜欢我,就在文章后面点 喜欢 吧��,欢迎随时关注哦 AFNetworking 3.0 是AFNetworking最新发行的版本,一款在 iOS & Mac OS X 下都另开发者喜爱的网络库。为了这个库可维持性发展,3.0 删除了所有支持现在已废弃的 NSURLConnection 的API。如果您的工程之前使用

搁浅不住的时光 2347

Logisim实战:手把手教你设计硬布线版MIPS CPU(多周期/8指令/附电路图)

本文是一份详细的Logisim实战指南,手把手教你设计一个采用硬布线控制的多周期MIPS CPU。文章深入剖析了硬布线控制与微程序控制的核心理念差异,并逐步讲解了从定义执行状态、构建状态跳转逻辑到生成控制信号、集成测试的完整流程,最终实现一个支持8条指令、可运行简单程序的处理器模型。

g9h0i1的博客 592

深入解析JESD204B Periodic SYSREF在多ADC/DAC系统中的同步优化策略

本文深入探讨了JESD204B Periodic SYSREF在多ADC/DAC系统中的同步优化策略,针对雷达阵列和宽带通信系统中的同步精度问题,详细解析了硬件实现细节、参数配置实战经验及系统级优化方法。通过案例分析和技术要点,帮助工程师解决由温度漂移和时钟抖动引起的同步挑战,提升系统性能。

weixin_29267307的博客 137

AFNetworking 3.0.4

AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本。本指南将引导您完成这个过程。 本指南是为了引导使用AFNetworki

LXL_815520的博客 935

Dynamics 365从入门到精通:一站式掌握微软智能商业应用平台

很多新手学Dynamics 365时,容易陷入“死记功能”的误区,其实这款平台的核心价值不是“功能多全”,而是“能适配企业业务流程,通过生态集成提升效率”。先从具体业务场景入手,理解每个功能的实际价值;再通过生态集成拓展系统能力;最后通过开发实现定制化,满足企业的特殊需求。按照这个思路,新手不用害怕复杂,一步步落地实战,3个月就能从“入门”到“能独立负责项目”。如果在学习过程中遇到具体问题(比如部署报错、数据迁移失败),欢迎在评论区留言,我会结合实战经验帮你解答!

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1041

"AFNetworking.h" file not found 解决办法

第一步: 打开 Project->Info->Configurations,查看Configurations里面Debug 和Release是否有为None的配置项: 如果有,请看第2步: 配置Podfile文件: 配置缺少的 target “xxx” do( xxx代表Scheme名) 第3步: 更新Cocoapods配置:pod install --verbose --no-r...

码农甲乙丙 1万+

以LAN8720A为例的以太网硬件设计方案

输入时钟(XTAL1/CLKIN,XTAL2):推荐外加25MHz(性价比较高)晶振为PHY芯片提供时钟,PHY芯片内部PLL将其倍频为50MHz来使用,亦可使用直接使用50MHz晶振。三位MODE通过高低电平组合分别对应以上8种模式 ,包含10M半双工,10M全双工,100M半双工,100M全双工,是否启用自协商协议,CRS是否有效等。VDDCR:1.2V电源,可由芯片内部稳压电源提供,亦可由外部电源提供,由外部电源提供可降低芯片功耗。REF_CLK:参考时钟,由MAC或外部时钟晶振向PHY芯片提供。

weixin_46154042的博客 5884

【国产MCU】-CH32V307-通用定时器(GPTM)-输入捕获模式测量脉冲

CH32V307的通用定时器模块包含一个16 位可自动重装的定时器(TIM2、TIM3、TIM4和TIM5),用于测量脉冲宽度或者产生特定频率的脉冲、PWM波等。可用于自动化控制、电源等领域。 输入捕获是通用定时器功能之一,一般用于测量频率和测量脉冲宽度。本文将详细介绍如何通用定时器的输入捕获功能。

视觉与物联智能 2814

ios [AFHTTPSessionManager GET:parameters:progress:success:failure:]: unrecognized selector sent to i...

解决步骤: 1.打开finder->前往->按住option->选择资源库->Developer->xcode->DerivedData->项目文件夹->删除Build 2.cocoapods pod update 3.重新运行程序 转载于:https://www.cnblogs.com/YuFly-lyx/p/8032510.h...

banzhai6311的博客 812

SCADA|KIO程序导出变量错误处理办法

雷工在使用KingSCADA3.52软件导出KIO变量时,遇到导出Excel格式文件报错的问题,错误提示为“ADODB.Connection未找到提供程序”。经过咨询技术人员,发现该功能需要安装Office软件,并与已安装的WPS软件兼容。雷工随后安装了Office2021版本,并进行了兼容性设置。安装过程中遇到无法启动的问题,通过删除安装目录、清理注册表、使用卸载软件和重启电脑等方法解决。安装完成后,雷工在WPS中设置了与Microsoft Office2003兼容的模式,最终成功解决了导出变量时的问题。

做有价值的事,积累有价值的笔记! 957

AFNetworking 3.0迁移简介

AFNetworking 3.0 AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本。本指南将引导您完成这个过程。

msyqmsyq的博客 430

matlab RANSAC拟合圆柱【2025最新版】

RANSAC拟合圆柱

点云侠的博客 3135

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

iOS AFNetworking 3.0

AFNetworking 3.0 AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本。本指南将引导您完成这个过程。

ZhengYanFeng1989的博客 181

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

上一篇: pop到任何控制器的方法
下一篇: Please verify that your device’s clock is properly set, and that your signing certificate is not exp
Magical_master
博客等级 码龄11年 8粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值