LFS配置开启下 Undefined symbol 编译问题排查
2020-10-28 本文已影响0人
穷小子
问题描述
Xcode 编译工程时输出如下错误
Showing All Errors Only
Undefined symbol: functionA(char const*, char const*)
其中 functionA(char const, char const) 方法为以CocoaPods 私有库方式引入的 lib.a文件中的方法
问题排查
查看Xcode编译日志,发现有如下提示
ld: warning: ignoring file /Users/XXX/Desktop/XXXXX/lib.a, building for iOS-arm64 but attempting to link with file built for unknown-unsupported file format ( 0x76 0x65 0x72 0x73 0x69 0x6F 0x6E 0x20 0x68 0x74 0x74 0x70 0x73 0x3A 0x2F 0x2F )
问题解决
Step1:
如果lib.a文件以 CocoaPods Development Pods 引用,则进入该Pods所在目录,执行
git lfs pull
如果lib.a以Private Pods引入,则在 Podfile 所在目录执行
brew install git-lfs
Step2:
如果问题未解决,则清空 Pod 的缓存文件,使用如下命令
pod cache clean --all
或
pod cache clean 'XXXSDK'