symbol(s) not found for architecture armv7

问题

模拟器和真机编译都不报错,不选择模拟器和真机编译时报如下错误

ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)

项目中某个SDK不支持armv7。

查看项目中使用的SDK,看哪个SDK不支持armv7,lipo -info xxx.framework。

如果是第三方的SDK没发改。

修改了项目Building Setting->Artchitecture->Valiad Artchitecture,去掉了armv7。

再编译不报错了。这样上架会不会有问题?支不支持iPad呢?

这里我还有一种解决方法, 如果有第三方库不支持某种版本指令集,例如arm7,可以把Build Active Architecture Only设置为No,Valid Architectures去掉armv7。这样会有问题吗?

SDK至少需要支持armv7和arm64,否则的话打包会有问题,上线可能不被允许的。如果打包SDK的时候没有将armv7打进去的话就重新打包SDK好了。

armv7未被打包进去的原因可能是打包时候选择的打包方式不对。真机打包时候Build Active Architect Only选择NO,打包真机支持的所有指令。模拟器的时候,选择NO,打包Valid Archtectures下指定的的指令。

发布了131 篇原创文章 · 获赞 9 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/Morris_/article/details/100705835
今日推荐