IOS生成同时支持armv7,armv7s,i386 x86_64的静态库.a文件
2016-09-28 10:10
393 查看
许多第三方提供的.a文件(一般是那些SDK),嵌入到我们的xcode项目后,生成不会报错。
一部分粗心的SDK提供方,或者我们自己做的.a文件,就会有报错,常见的就是不是armv7结构,或者不是armv7s结构,如果在模拟器中运行,会报不是i386结构。
原因是:armv7是支持比iphone5旧的那些设备,armv7s是iphone5或ipad4或者以后的新设备,i386是mac的。
这些名字指的是处理器所用的指令集。
因此常常发生的是.a文件要么ipad mini可以Build成功,但iphone5不能Build成功。要么就相反,让人抓狂。
解决办法是做一个全面支持各指令集的.a文件。
前提是分别生成4个支持对应指令集的.a文件。在Build静态库时,设备分别选择不同的真机以及模拟器,分别Build出来,备份到一个文件夹,并且取不同的名字。
此时可以用命令来检查导出的.a文件所支持的指令集,lipo -info XXX.a ,要保证4个都是不同的才能进行下一步 ,注意:armv7s的显示名是cputype (12) cpusubtype (11)
然后以命令 lipo -create XXXX_V7.a XXXX_V7s.a -output XXXX_all.a 合成他们成为新的.a文件。
最后替换掉报错的.a文件即可
原文转载:http://small.qiang.blog.163.com/blog/static/978493072013102105451218/
完整商城源码下载地址: http://www.tp-shop.cn/download.html
一部分粗心的SDK提供方,或者我们自己做的.a文件,就会有报错,常见的就是不是armv7结构,或者不是armv7s结构,如果在模拟器中运行,会报不是i386结构。
原因是:armv7是支持比iphone5旧的那些设备,armv7s是iphone5或ipad4或者以后的新设备,i386是mac的。
这些名字指的是处理器所用的指令集。
因此常常发生的是.a文件要么ipad mini可以Build成功,但iphone5不能Build成功。要么就相反,让人抓狂。
解决办法是做一个全面支持各指令集的.a文件。
前提是分别生成4个支持对应指令集的.a文件。在Build静态库时,设备分别选择不同的真机以及模拟器,分别Build出来,备份到一个文件夹,并且取不同的名字。
此时可以用命令来检查导出的.a文件所支持的指令集,lipo -info XXX.a ,要保证4个都是不同的才能进行下一步 ,注意:armv7s的显示名是cputype (12) cpusubtype (11)
然后以命令 lipo -create XXXX_V7.a XXXX_V7s.a -output XXXX_all.a 合成他们成为新的.a文件。
最后替换掉报错的.a文件即可
原文转载:http://small.qiang.blog.163.com/blog/static/978493072013102105451218/
完整商城源码下载地址: http://www.tp-shop.cn/download.html
相关文章推荐
- IOS生成同时支持armv7,armv7s,i386,x86_64,arm64的静态库.a文件
- iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
- iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a以及 FrameWork 的创建
- IOS生成同时支持armv7,armv7s,i386的静态库.a文件
- iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
- iOS生成同时支持armv7,armv7s,i386的静态库.a文件
- iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
- IOS生成同时支持armv7,armv7s,i386的静态库.a文件
- iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
- IOS生成同时支持armv7,armv7s,i386的静态库.a文件
- iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
- 制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
- iOS——制作同时支持armv7,armv7s,arm64,i386,x86的静态库
- 制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
- iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86
- 【技术】【操作】制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
- IOS生成同时支持armv7,armv7s,i386…
- iOS 中的 armv7,armv7s,arm64,i386,x86_64
- iOS关于armv7,armv7s,arm64,i386,x86_64等问题
- iOS 中的 armv7,armv7s,arm64,i386,x86_64 都是什么