DEV Community

David Goyes
David Goyes

Posted on

Error: DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead

Xcode, desde su versión 15, no busca el toolchain en $DT_TOOLCHAIN_DIR sino en $TOOLCHAIN_DIR.

Es posible que al incluir una dependencia de Cocoapods como Firebase aparezca el siguiente error:

error: DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead (in target 'Firebase' from project 'Pods')

Una solución consiste en actualizar la dependencia que provoca el error, en este caso: Firebase.

No obstante, en ocasiones no se puede actualizar la dependencia, así que hay que buscar todas las ocurrencias de $DT_TOOLCHAIN_DIR y reemplazarlas por $TOOLCHAIN_DIR.

Si solo una dependencia está provocando el error, se puede agregar el siguiente script de postinstalación de cocoapods en el Podfile.

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|

      # Update 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 # Dir.each do
      end # [].each do
    end # target...each do
  end # installer...each do
end # post_install do
Enter fullscreen mode Exit fullscreen mode

Top comments (0)