Изменение целевой версии ios при установке нового модуля

#ios #xcode #cocoapods

#iOS #xcode #cocoapods

Вопрос:

Всякий раз, когда я устанавливаю новый проект pod, и, например, я устанавливаю библиотеки firebase, я всегда получаю установленные библиотеки, предназначенные для проектов 8.0 или, и я начинаю менять их вручную на 9.0 или 14.0 из-за предупреждения, которое я получаю.

Предупреждение об ошибках

Вот это содержимое Podfile:

  platform :ios, '14.0'

target 'TestProject' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for TestProject

        pod 'SDWebImageSwiftUI'
        pod 'lottie-ios'
        pod 'Firebase/Auth'
        pod 'Firebase/Firestore'
end
 

Как можно обновить целевую iOS сразу, чтобы я не обновлял все библиотеки одну за другой?

Ответ №1:

В зависимости от вашего файла Podfile ответа Уоррена может быть недостаточно, чтобы установить все цели для новой цели развертывания. Я рекомендую использовать этот обработчик после установки:

 deployment_target = '14.0'

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'] = deployment_target
            end
        end
        project.build_configurations.each do |bc|
            bc.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = deployment_target
        end
    end
end
 

Это дополнение становится важным, когда вы используете такие параметры, как install! 'cocoapods', :generate_multiple_pod_projects => true

Ответ №2:

Добавьте это в свой Podfile и затем pod install .

 post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '14.0'
    end
  end
end
 

Это приведет к одновременному обновлению всех целевых модулей до желаемой версии.