오류: DT_TOOLCHAIN_DIR는 LIBRARY_SEARCH_PATHS를 평가하는 데 사용할 수 없으며, 대신 TOOLCHAIN_DIR를 사용하십시오

발행: (2025년 12월 12일 오전 04:40 GMT+9)
2 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')

해결 방법

  1. 오류를 일으키는 의존성(예: Firebase)을 최신 버전으로 업데이트합니다.
  2. 업데이트가 불가능한 경우, 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|
      # Actualizar 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
Back to Blog

관련 글

더 보기 »

Swift #11: 가드 절

Guard statement guard 문은 조건과 else, 그리고 guard 블록으로 구성됩니다. 조건이 false이면 guard 블록이 실행되고…