invalid bitcode signature

使用一个第三方SDK打包时报invalid bitcode signature(调试时没有问题)。

从报错中发现有个armv7。所以联想到是不是第三方SDK不支持armv7的关系。将Build Setting中的armv7去掉后打包居然成功了。

虽然问题解决了。但是有两个疑问,

1、为什么调试时没有问题,打包有问题?

    答:在Build Setting的Architectures 中的“Build Active Architecture Only”    Debug是YES,Release是NO。

YES的话Build Setting->Valid Architetures设置成arm64,armv7 , armv7s同时支持,也只会编译对应指令集的包;若选择NO,则编译器会整合两个指令集到一起,此时的包比较大,但是能在iPhone5上使用armv7s的优化,同时也能适配老的设备。一般都是Debug时“Build Active Architecture Only”选择YES,用当前的架构看代码逻辑是否有问题;而在Release时选择NO,来适配不同的设备

2、将armv7去掉后会有什么影响?

    答:对于iOS设备来说iOS的指令集有armv6、armv7、armv7s、arm64这样四种,不同型号的iOS设备使用不同的指令集,下面是各自的区别:

armv7设备:iPhone 3GS, iPhone 4, iPhone 4S

                       iPad , iPad 2等。

armv7s设备:iPhone 5,iPhone 5C

                        iPad 4等

arm64:        iPhone 5S, iPhone 6,iPhone 6Plus

                        iPad Air, Retina iPad Mini等

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容