iOS 技术分享

iOS - Undefined symbols for arch

2021-04-07  本文已影响0人  Joh蜗牛

问题:

项目中导入了pod 'GMObjC'(国密算法),真机运行正常,archive时报错:

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

报错如图:


报错图示 报错图示

解决方法:

在Build Setting中,找到【Valid Architectures】,去除armv7及armv7s,仅保留arm64、arm64e,重新编译,即可成功。(TARGETS中三个均修改,或仅修改第一个 都可)

如图:


报错时内容 修改后内容

记录

网上找到的解决方法:

常见的情况是,项目引用了一个第三方库(比如从pod来的库),而这个第三方库打包的时候只支持armv7s和armv7,而项目有使用arm64打包,这个时候就会由于无法link,而报错Undefined symbols
解决的办法是,或者重新打包第三方库,加入arm64;或者自己的项目去掉arm64

而我的项目是去除armv7及armv7s后,即可成功

参考文章:http:/blog。sina。com.cn/s/blog_134451adb0102wg7w。html

上一篇 下一篇

猜你喜欢

热点阅读