安装CocoaPod后Xcode CI构建出现ld: directory not found for option错误
Xcode CI CocoaPods依赖构建错误修复方案
⚠️ ld: directory not found for option '-F/Users/runner/Library/Developer/Xcode/DerivedData/ProjectName-hlaqakonueydmsgzoxgekwjpjyds/Build/Products/Debug-iphonesimulator/LDSwiftEventSource'
⚠️ ld: directory not found for option '-F/Users/runner/Library/Developer/Xcode/DerivedData/ProjectName-hlaqakonueydmsgzoxgekwjpjyds/Build/Products/Debug-iphonesimulator/LaunchDarkly'
❌ ld: framework not found LDSwiftEventSource
❌ clang: error: linker command failed with exit code 1 (use -v to see invocation)
- 优先检查CI构建命令指定的项目文件类型:必须使用
.xcworkspace后缀的工作空间文件启动构建,不能使用原始的.xcodeproj项目文件,CocoaPods的依赖框架仅会在工作空间中正确挂载。 - 确认CI构建流程中
pod install执行时机正确:需要在Xcode构建命令之前执行pod install拉取全量依赖,如果CI开启了Pods目录缓存,需验证缓存中是否包含本次新增的LaunchDarkly和LDSwiftEventSource依赖。 - 清理无效构建缓存后重试:执行以下命令清空旧的DerivedData缓存,避免旧路径残留导致的寻址失败:
rm -rf ~/Library/Developer/Xcode/DerivedData - 校验Podfile配置:确保全局或对应Target下开启了
use_frameworks!配置,LaunchDarkly依赖需要以framework形式编译,静态库编译模式会导致产物路径不匹配。 - 对齐本地与CI环境的CocoaPods版本:不同版本的CocoaPods生成的构建配置存在差异,可在CI脚本中指定安装与本地一致的版本,示例如下:
gem install cocoapods -v 1.12.1(将版本号替换为你本地使用的CocoaPods版本)
内容的提问来源于stack exchange,提问作者wristbands
相关产品推荐
相关产品推荐

