skip to Main Content

Trying to run a flutter app after latest Xcode and iOS 17 update and get the following error "DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead"

# Uncomment this line to define a global platform for your project
# platform :ios, '11.0'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FLUTTER_ROOT=(.*)/)
    return matches[1].strip if matches
  end
  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
  use_frameworks!
  use_modular_headers!

  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.generated_projects.each do |project|
    project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
            # You can enable the permissions needed here. For example to enable camera
            # permission, just remove the `#` character in front so it looks like this:
            #
            # ## dart: PermissionGroup.camera
            # 'PERMISSION_CAMERA=1'
            #
            #  Preprocessor definitions can be found in: https://github.com/Baseflow/flutter-permission-handler/blob/master/permission_handler_apple/ios/Classes/PermissionHandlerEnums.h
            config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
              '$(inherited)',
        
              ## dart: PermissionGroup.calendar
              # 'PERMISSION_EVENTS=1',
        
              ## dart: PermissionGroup.reminders
              # 'PERMISSION_REMINDERS=1',
        
              ## dart: PermissionGroup.contacts
              # 'PERMISSION_CONTACTS=1',
        
              ## dart: PermissionGroup.camera
              'PERMISSION_CAMERA=1',
        
              ## dart: PermissionGroup.microphone
              # 'PERMISSION_MICROPHONE=1',
        
              ## dart: PermissionGroup.speech
              # 'PERMISSION_SPEECH_RECOGNIZER=1',
        
              ## dart: PermissionGroup.photos
              # 'PERMISSION_PHOTOS=1',
        
              ## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]
              # 'PERMISSION_LOCATION=1',
                
              ## dart: PermissionGroup.notification
              # 'PERMISSION_NOTIFICATIONS=1',
        
              ## dart: PermissionGroup.mediaLibrary
              # 'PERMISSION_MEDIA_LIBRARY=1',
        
              ## dart: PermissionGroup.sensors
              # 'PERMISSION_SENSORS=1',   
                
              ## dart: PermissionGroup.bluetooth
              # 'PERMISSION_BLUETOOTH=1',
        
              ## dart: PermissionGroup.appTrackingTransparency
              # 'PERMISSION_APP_TRACKING_TRANSPARENCY=1',
        
              ## dart: PermissionGroup.criticalAlerts
              # 'PERMISSION_CRITICAL_ALERTS=1'
            ]
         end
    end
end
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
end

Anyone know how I can modify this to work?
This seems to happen that there’s some sort of error after upgrading Xcode.

2

Answers


  1. Try using this command on a console:

    find . -type f -exec grep -l 'DT_TOOLCHAIN_DIR' {} ; 
    | while IFS= read -r file; do sed -i '' 
    's/DT_TOOLCHAIN_DIR/TOOLCHAIN_DIR/g' "$file"; done
    

    It will solve your issue.

    Login or Signup to reply.
  2. We are waiting for the cocoapod maintainers to make a new release with this fix included.

    Until then you can try another alternative fix from this comment or this comment or point the cocoapods gem in your Gemfile to the cocoapods git repo and it’s master branch.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search