解决Xcode15报错:DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS

出现场景

更新了一些三方库,升级了Xcode, 编译IOS出现以下错误。

shell 复制代码
Failed to build iOS app
Could not build the precompiled application for the device.
Error (Xcode): DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead

出现场景

这是Cocoapos老版本的一个bug,主要是在更新了Xcode15之后编译ios产生的问题。有两种解决方法。更新Cocoapods版本或者修改Podfile文件配置.

解决方案

修改Podfile

Podfile 复制代码
post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    # 新增以下内容
    target.build_configurations.each do |config|
      xcconfig_path = config.base_configuration_reference.real_path
      xcconfig = File.read(xcconfig_path)
      xcconfig_mod = xcconfig.gsub(/DT_TOOLCHAIN_DIR/, "TOOLCHAIN_DIR")
      File.open(xcconfig_path, "w") { |file| file << xcconfig_mod }
    end
  end
end

更新Cocoapos

更新cocoapos版本到1.13.0以上

shell 复制代码
$ sudo gem install cocoapods

更新完成后查看版本号

shell 复制代码
$ pod --version
1.15.2

如果更新后查看pod版本发现还是以前的版本,可以先尝试卸载旧版本再重新安装。

相关推荐
浩宇软件开发4 小时前
SwiftUI入门 10 分钟学会做一个 App 引导页
ios·swiftui·swift
90后的晨仔5 小时前
SwiftUI 完全指南:从声明式 UI 到响应式架构的终点回顾
ios
90后的晨仔5 小时前
SwiftUI 多线程与并发编程深度总结
ios
90后的晨仔5 小时前
Combine 与系统框架集成:将响应式编程融入 Apple 生态
ios
90后的晨仔5 小时前
Combine 与 Swift Concurrency:响应式与并发的完美协奏
ios
90后的晨仔5 小时前
Combine 自定义 Subject:构建专属的响应式事件源
ios
90后的晨仔5 小时前
Combine 架构模式:构建响应式应用的蓝图
ios
90后的晨仔5 小时前
Combine 高级实践:多线程调度、调试与测试
ios
BG8 小时前
Flutter PSD 解析实践:利用ag-psd 解析 + 分块图片编码,同时解决移动端OOM
flutter
人月神话Lee8 小时前
【图像处理】饱和度——颜色的浓淡与灰度化
ios·ai编程·图像识别