React Native集成Segment归档时报ld: library not found for -lAnalytics如何排查
解决方案
以下是按优先级排序的排查修复步骤,该问题属于iOS归档阶段的链接错误,Debug运行正常仅归档失败通常是构建配置或依赖缓存异常导致:
- 确认归档操作打开的是
.xcworkspace文件而非.xcodeproj文件
CocoaPods管理的依赖只会被加载到xcworkspace中,误开xcodeproj执行归档会直接触发依赖库找不到的错误。 - 清理全量缓存并重新安装iOS依赖
进入项目ios目录依次执行以下命令:
执行完成后重新打开xcworkspace尝试归档,90%以上的缓存类依赖问题可通过该步骤解决。rm -rf ~/Library/Developer/Xcode/DerivedData rm -rf Pods Podfile.lock pod deintegrate pod cache clean --all pod install - 校验Release模式下的库搜索路径配置
打开Xcode项目,选中主应用target,进入「Build Settings」标签,搜索Library Search Paths,确认Release配置项的路径和Debug配置完全一致,必须包含$(inherited)以及Pods目录对应的路径,避免Release模式下缺失库搜索路径。 - 手动关联Analytics库(适配Segment v1.x版本已知问题)
你使用的1.5.0属于Segment v1旧版本,存在iOS原生依赖自动关联异常的已知问题:打开Xcode的Pods项目,确认Analytics依赖构建正常;也可在主应用target的「Build Phases」->「Link Binary With Libraries」中手动添加libAnalytics.a库。 - 检查架构配置
进入主应用target的「Build Settings」,搜索Build Active Architecture Only,确认Release配置项的值为No,否则归档时只会构建当前连接设备的架构,会触发对应缺失架构下的库找不到错误。
内容的提问来源于stack exchange,提问作者James Lee
相关产品推荐
相关产品推荐

