解决问题之前,先了解清晰涉及到的知识点:
iOS支持的指令集包含:armv6、armv7、armv7s、arm64,在项目TARGETS---->Build Settings--->Architecturs 可以修改对应的指令集,目前Standard Architectures(arm64, armv7)
XCode中可设置:
1、Architectures将制定项目将支持哪些指令集
2、Build Active Architecture Only 用于设置是否只编译当前使用的设备对应的arm指令集,当该选项设置成YES时,具体编译的指令集取局于当前的设备支持的armv指令集,比如:Architectures 设置为 arm64,armv7。如果当前设备只支持armv7,则只会生成armv7指令集的二进制包
当了解了以上原理后,面对Undefined symbols for architecture arm64 类似的问题就迎刃而解啦。
解决方案一:
可以打开终端借助“lipo - info 静态库名称.a”命令来查看出现问题的静态库支持的指令集
lipo -info libLocalShopping.a
然后根据输出可知支持哪些指令集,然后再去下载对应的指令集静态库
解决方案二:
如遇到类似下图中的错误:
error文章来源:https://www.toymoban.com/news/detail-715199.html
优先去查看是否是由于缺失import头文件,导致;文章来源地址https://www.toymoban.com/news/detail-715199.html
到了这里,关于Undefined symbols for architecture arm64的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!