React Native 0.64.0 iOS构建报错ld: library not found for -lAppAuth 常规方案未解决
可行解决方案
- 先全量清除缓存再重新安装pod依赖:删除项目ios目录下的
Pods文件夹、Podfile.lock文件、build文件夹,同时删除Xcode全局缓存目录~/Library/Developer/Xcode/DerivedData下的对应项目缓存,再执行pod install --repo-update完成依赖安装后重试构建 - 检查所有target的最低系统版本配置:确保项目主target、Pods项目下的AppAuth target的Deployment Target版本完全一致,避免版本差导致编译出的库架构不兼容无法链接
- 补充Library Search Paths继承配置:在项目Build Settings > Library Search Paths顶部添加
$(inherited),并勾选路径对应的继承选项,确保Pods生成的依赖搜索路径可以正常被主项目识别 - M系列芯片Mac额外配置架构兼容规则:可在Podfile末尾添加统一配置钩子,避免模拟器编译时架构不匹配:
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| # 此处版本号替换为你项目主target的最低iOS支持版本 config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0' config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64' end end end
添加完成后重新执行pod install生效配置
- 调整Pod依赖链接方式:如果当前Podfile使用的是动态库链接,可将
use_frameworks!修改为use_frameworks! :linkage => :static使用静态库链接,重新安装依赖后重试 - 检查AppAuth库编译状态:手动进入项目
ios/Pods/目录确认是否存在libAppAuth.a文件,如果不存在说明该依赖编译阶段已失败,可单独查看AppAuth target的编译日志,排查是否存在Swift版本不匹配、依赖缺失等前置问题 - 确认Link Binary With Libraries配置:检查
libAppAuth.a的引用状态为Required而非Optional,避免Xcode默认跳过该库的链接
内容的提问来源于stack exchange,提问作者Yoshi Nguyen
相关产品推荐
相关产品推荐

