iOS打包、升级、合并,AFNetworking.framewor真机和模拟器兼容合并版本 - 详细攻略步骤

Xcode每一次大版本升级,AFNetworking.framewor都需要从新打包升级,github下载地址,有老版本的

  • Objective-C

  • AFNetworking: An HTTP networking library for iOS and OS X
  • Swift

  • Alamofire: An HTTP networking library for iOS and OS 

步骤

1.下载好第三方库AFNetworking,编译运行下,如果项目不需要支持模拟器,直接下载好直接替换项目里老得AFNetworking,如果真机模拟器都要支持,下面就是要说的步骤

TARGETS —> Build Settings —>Enable Bitcode  设置为NO

然后选择模拟器状态下Build下,Products下,选中framework,进入文件夹,模拟器版本后缀Debug-iphonesimulator,为了方便区分,创建三个空文件夹,把模拟器的AFNetworking复制丢在模拟器文件夹下,留作后续合并用

2.编译器切换成真机状态Build下,和模拟器方法一样,真机版本后缀Debug-iphoneos把真机的AFNetworking复制丢在真机文件夹下,留作后续合并用

3.打开终端

输入   lipo -create 【模拟器打包path】 【真机打包path】 -output 【导出兼容版本path】

PS:每个单词之间记得加空格。

合并成功之后,在合并的文件夹内有一个支持真机和模拟器全新的AFNetworking,终端内输入lipo -info 加上合成后的AFNetworking可以检查下支持类型是否正确

 

备注:AFNetworking框架不支持《text/html》类型,需要手动修改下,全局搜索self.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", 你会发现少了这种类型@"text/html",加上就可以了

在你AFNetworking支持真机和模拟器的时候,打包上传appStore会报错,上传的版本是不需要支持模拟器的,所以我们在自己的项目里

echo "Merging extracted architectures: ${ARCHS}"

lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"

rm "${EXTRACTED_ARCHS[@]}"

 

echo "Replacing original executable with thinned version"

rm "$FRAMEWORK_EXECUTABLE_PATH"

mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"

 

小总结:由于项目里没用使用Pods管理第三库,所以第三方库在升级的时候,有时候会增加很多新的类,为了保证自己项目可以运行,合并好之后最好的替换方式为拿合成后AFNetworking去替换从github上下载的库里面的替换掉,然后在直接把替换后的AFNetworking和整个head目录下.h文件夹和自己项目整个替换,这个可以避免新库里面增加的方法和自己项目里没有而引发的报错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值