iOS开发之AFNetWorking 3.0 迁移的心路历程(坑点)

引言:应苹果IPV6网络的普及,AFNetWorking笔者迅速更新进行支持,移除了NSURLConnection的网络请求库,改用NSURLSession。也就是从AFHTTPRequestOperation到AFHTTPSessionManager的转换。

迁移步骤:

  1. cocopods导入最新的AFNetWorking3.0;
  2. 修改网络请求管理者为AFHTTPSessionManager;
  3. 修改网络请求方法为:
[manager GET:URLString parameters:@{} progress:nil success:^(NSURLSessionTask *task, id responseObject) {
        NSLog(@"JSON: %@", responseObject);
} failure:^(NSURLSessionTask *operation, NSError *error) {
        NSLog(@"Error: %@", error);
}];

完成后编译OK并运行。

遇到的问题点:

真机下:

  1. 控制台报错如下:terminating with uncaught exception of type NSException
  2. 全局断点崩溃到以上方法

模拟器下:
1. 这里写图片描述
2. 全局断点也是崩溃到以上方法

初步解决方案为:
去除 progress:nil ,使用如下方法:
[manager GET:URLString parameters:@{} success:^(NSURLSessionTask *task, id responseObject) {
        NSLog(@"JSON: %@", responseObject);
} failure:^(NSURLSessionTask *operation, NSError *error) {
        NSLog(@"Error: %@", error);
}];

以上方式勉强能够运行,不过此方法报黄,已弃用。

最终解决方案:

  1. 由于Xcode4之后build放在系统的资源库隐藏起来了,所以打开终端 输入:“defaults write com.apple.finder AppleShowAllFiles TRUE
    killall Finder” 的命令 让隐藏的文件夹显示出来
  2. 然后点到桌面,在左上方的栏目里选择:前往-》个人-》资源库。资源库是半透明状的,你可以点右键,显示简介,然后找里面的developer。这个文件夹里面有个Xcode。点进去。你会发现一个名为:DerivedData的文件夹。把这个删除掉就可以了。
  3. 在终端中 pod install 这样就好了
  4. 记得 输入命令 “defaults write com.apple.finder AppleShowAllFiles FALSE
    killall Finder ” 将显示的隐藏文件 ,再隐藏回去
原因:pod的坑、苹果缓存的坑
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sailip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值