Flutter - SWIFT_VERSION должно быть установлено на поддерживаемое значение

Пробовав библиотеку simple_permission, исправил ошибку POD, и это пришло, не знаю, как действовать. Там нет настроек для быстрой версии в настройках сборки, я попытался добавить его, но это не сработало.

Launching lib/main.dart on iPhone X in debug mode...
Skipping compilation. Fingerprint match.
Running Xcode clean...
Starting Xcode build...
Xcode build done.
Failed to build iOS app
Error output from Xcode build:
↳
** BUILD FAILED **

Xcode output:
↳
=== BUILD TARGET simple_permissions OF PROJECT Pods WITH CONFIGURATION             Debug ===
    The "Swift Language Version" (SWIFT_VERSION) build setting must be set to a supported value for targets which use Swift. This setting can be set in the build settings editor.
Could not build the application for the simulator.
Error launching application on iPhone X.

Ответ 1

Проверьте этот ответ.

Когда часть плагина для iOS ios/Podfile с помощью Swift, вы должны внести это изменение в ваш ios/Podfile. Вы должны добавить use_frameworks! и config.build_settings['SWIFT_VERSION'] = '4.1'.

target 'Runner' do
  use_frameworks!  # required by simple_permission
  ...
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['SWIFT_VERSION'] = '4.1'  # required by simple_permission
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
  end
end

Вы можете проверить, какой SWIFT_VERSION потребуется, в этом вопросе проблема решена с помощью 3.2. В ответе, который я разместил, 4.1 был рекомендован, но 4.0 также работал

Ответ 2

Посмотрите на эту проблему: https://github.com/flutter/flutter/issues/16049

Это помогло мне пройти мимо этого для проекта, созданного без добавления быстрых возможностей, а затем добавив плагин геолокации.

Ответ 3

В случае, если другие ответы не работают для вас, используйте pre_install например:

pre_install do |installer|
  installer.analysis_result.specifications.each do |s|
    s.swift_version = '4.2' unless s.swift_version
  end
end

Сочетание ответов выше и этот ответ определенно разберется с этим.

Ответ 4

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

Ответ 5

  В этом случае должен быть создан соединительный заголовок.

  1. Откройте проект с помощью XCode. Затем выберите Файл → Создать → Файл → Файл Swift. Диалог будет отображаться при создании Swift файл (поскольку этот файл удален, можно использовать любое имя.). XCode будет спросит вас, хотите ли вы создать Bridging Header, нажмите yes. (Это главный шаг)

  2. Убедитесь, что у вас есть use_frameworks! в блоке Runner, в ios/Podfile.

  3. Убедитесь, что в вашем XCode выбран SWIFT_VERSION 4.2 → Настройки сборки

  4. Трепетать чистым

  5. Перейдите в папку ios, удалите Podfile.lock и Pods, а затем выполните pod install --repo-update