错误:DT_TOOLCHAIN_DIR 不能用于评估 LIBRARY_SEARCH_PATHS,请改用 TOOLCHAIN_DIR
发布: (2025年12月12日 GMT+8 03:40)
1 min read
原文: Dev.to
Source: Dev.to
问题
从 Xcode 15 开始,toolchain 不再从变量 $DT_TOOLCHAIN_DIR 中获取,而是使用 $TOOLCHAIN_DIR。
在引入 CocoaPods 依赖(例如 Firebase)时,可能会出现以下错误:
error: DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead (in target 'Firebase' from project 'Pods')
解决方案
- 更新产生错误的依赖(例如 Firebase)。
- 如果无法更新,搜索 pod 文件中的所有
$DT_TOOLCHAIN_DIR出现位置,并将其替换为$TOOLCHAIN_DIR。
CocoaPods 后安装脚本
如果只有单个依赖导致错误,可以在 Podfile 中添加以下 post_install 块:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
# 更新 LIBRARY_SEARCH_PATHS
['Firebase.release.xcconfig', 'FirebaseAnalytics.release.xcconfig'].each do |file_name|
Dir.glob("Pods/**/#{file_name}", File::FNM_CASEFOLD).each do |xcconfig_path|
text = File.read(xcconfig_path)
new_contents = text.gsub('DT_TOOLCHAIN_DIR', 'TOOLCHAIN_DIR')
File.open(xcconfig_path, "w") { |file| file.puts new_contents }
end
end
end
end
end