JOE:
最近在为一个项目适配64位架构,参考官方的文档和大家在网上的心得然后就整理出这么一个好东东供大家做适配参考。要回寝室了,不然就没门口进了。。。
说明:
以下是我在做64位升级的各个步骤,里面的例子仅仅是该步骤的一些例子而已,大家可以举一反三,而“提示”里是一些个人心得而已。
1.配置项目文件中相关的选项
(1)确保需要支持arm64的各个TARGETS里的General的Deployment Target是5.1.1或以上(因为iOS 5.1.1或以上才开始支持arm64架构)
(2)确保TARGETS里的Architectures和Valid Architectures 的有效值的合集包含armv7和arm64(这里为什么说有效值,是因为它的只会收到PROGECT里的值替代,如果是它空值的话)
(3)其他选项就没什么了,如果还有不对的话,xcode还是会给你相应的修改提示请求的
小提示:如果你的当前active scheme所指向的设备是32位或64位的话,在debug下会分别会以32位和64位编译,所以两个都得测试哦。还有记得在真机上调试,因为arm64和x86_64毕竟是两个不一样的架构
2.更新项目中的 *.framework 或者 *.a 等第三方库
(1)但对应的官方网下载同时兼容armv7和arm64的库(也可以获得源代码自己生成相应的库,你有源码的话)
(2)在本地使用MAC下的lipo命令检查一下是否同时兼容armv7和arm64
例子:lipo -info 库文件
(3)使用代码比对工具对新旧库的头文件进行一下比对,检查API是否发生了变化,并且做相应的接口变更工作
小提示:在更换库的时候,最好是把新下载的库更改一下名字跟旧的库一样并且直接替换原项目中的旧库(路径也不用变),这样的就不用做代码里面库引入等其他修改工作也不会修工程配置文件中你一把心机手动设置的各个Configurations Set库搜索路径。
3.重写项目中的.s后缀的汇编文件
(1) 参照iOS ABI Function Call Guide检查并且重写asm代码
小提示:iOS并不完全支持汇编的标准,所以必须参照Guide来写对应的asm。如果项目中没有使用汇编的话,就可以直接跳过这个步骤了
4.到了这个步骤后基本上就可以进行黑盒测试
(1)交给测试
最近在为一个项目适配64位架构,参考官方的文档和大家在网上的心得然后就整理出这么一个好东东供大家做适配参考。要回寝室了,不然就没门口进了。。。
说明:
以下是我在做64位升级的各个步骤,里面的例子仅仅是该步骤的一些例子而已,大家可以举一反三,而“提示”里是一些个人心得而已。
1.配置项目文件中相关的选项
(1)确保需要支持arm64的各个TARGETS里的General的Deployment Target是5.1.1或以上(因为iOS 5.1.1或以上才开始支持arm64架构)
(2)确保TARGETS里的Architectures和Valid Architectures 的有效值的合集包含armv7和arm64(这里为什么说有效值,是因为它的只会收到PROGECT里的值替代,如果是它空值的话)
(3)其他选项就没什么了,如果还有不对的话,xcode还是会给你相应的修改提示请求的
小提示:如果你的当前active scheme所指向的设备是32位或64位的话,在debug下会分别会以32位和64位编译,所以两个都得测试哦。还有记得在真机上调试,因为arm64和x86_64毕竟是两个不一样的架构
2.更新项目中的 *.framework 或者 *.a 等第三方库
(1)但对应的官方网下载同时兼容armv7和arm64的库(也可以获得源代码自己生成相应的库,你有源码的话)
(2)在本地使用MAC下的lipo命令检查一下是否同时兼容armv7和arm64
例子:lipo -info 库文件
(3)使用代码比对工具对新旧库的头文件进行一下比对,检查API是否发生了变化,并且做相应的接口变更工作
小提示:在更换库的时候,最好是把新下载的库更改一下名字跟旧的库一样并且直接替换原项目中的旧库(路径也不用变),这样的就不用做代码里面库引入等其他修改工作也不会修工程配置文件中你一把心机手动设置的各个Configurations Set库搜索路径。
3.重写项目中的.s后缀的汇编文件
(1) 参照iOS ABI Function Call Guide检查并且重写asm代码
小提示:iOS并不完全支持汇编的标准,所以必须参照Guide来写对应的asm。如果项目中没有使用汇编的话,就可以直接跳过这个步骤了
4.到了这个步骤后基本上就可以进行黑盒测试
(1)交给测试

这篇博客介绍了如何使iOS工程支持arm64位架构,参照了64-Bit Transition Guide for Cocoa Touch,旨在确保应用同时兼容armv7和arm64设备。
最低0.47元/天 解锁文章
4491

被折叠的 条评论
为什么被折叠?



