Ошибка сборки Flutter для iOS: DVTCoreDeviceEnabledState_Disabled

flutter build ipa не работает на macOS v13.3 (Ventura) с Xcode 14.3 и Flutter 3.7.9.

Вывод журнала:

xcodebuild[83777:409216] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled)

flutter run без проблем работает на симуляторах iOS.

У меня такая же ошибка. Моя проблема началась с отсутствия файла libarclite_iphoneos.a (stackoverflow.com/questions/75574268/…), и когда я применяю исправление, запускается без проблем на симуляторах, но когда я пытаюсь собрать ipa, возникает эта ошибка.

Fabio 01.04.2023 03:19

У Flutter появилась проблема: github.com/flutter/flutter/issues/123903

Fabio 01.04.2023 03:35
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
22
2
15 267
16
Перейти к ответу Данный вопрос помечен как решенный

Ответы 16

Ответ принят как подходящий

Загрузите Xcode для версии 14.2. Для этого вы можете использовать Xcode Select.

У меня была эта ошибка, и я исправил ее, выполнив следующие действия:

  1. Сначала я удалил Xcode 14.3
  2. Я скачал Xcode_14.2
  3. установил это

Ссылка на 14.2 кажется теперь download.developer.apple.com/Developer_Tools/Xcode_14.2/…

Nick 04.04.2023 14:40

Вы можете создать приложение для iOS в Xcode, и это даст вам более конкретную причину ошибки.

В моем случае причина в том, что имя метода языка ruby ​​изменено.

Я исправил ошибку, изменив exists на exist в ReadDotEnv.rb. (.../ios/.symlinks/plugins/flutter_config/ios/Classes/ReadDotEnv.rb)

  if File.exist?("#{envs_root}../.envfile")
    envFilePath = "#{envs_root}../.envfile"
  elsif File.exist?("#{envs_root}/.envfile")
    envFilePath = "#{envs_root}.envfile"

В настоящее время это единственное решение, которое работает для меня для создания архива ipa. Без необходимости откатывать на Xcode 14.2.

Итак, решение на данный момент: откройте файл ios/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh.

Найдите эту строку:

if [ -L "${source}" ]; then
echo "Symlinked..."
source = "$(readlink "${source}")"
fi

к

if [ -L "${source}" ]; then
echo "Symlinked..."
source = "$(readlink -f "${source}")"
fi

добавьте -f и сохраните файл.

Это сработало для меня. Надеюсь это поможет.

Меня устраивает. К вашему сведению: на случай, если ваш файл вернется обратно. Не открывайте файл с помощью Android Studio или Xcode. Используйте TextEdit для редактирования и сохранения файла.

Tri yulianto 27.05.2023 03:23

Вам не нужно выполнять откат к Xcode 14.2. Следующие шаги работали для меня в версии 14.3:

  1. Убедитесь, что вы обрабатываете версию 11 как цель:

    В файле подфайла...

    Заменять

     post_install do |installer|
       installer.pods_project.targets.each do |target|
         flutter_additional_ios_build_settings(target)
       end
     end
    

    С

     post_install do |installer|
       installer.pods_project.targets.each do |target|
         flutter_additional_ios_build_settings(target)
         target.build_configurations.each do |config|
           config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
         end
       end
     end
    
  2. Убедитесь, что отладка включена в схему LaunchAction Xcode. В файле Runner.xcscheme вы должны быть уверены, что что-то подобное включено...

     <LaunchAction
        buildConfiguration = "Debug"
        //...more lines
     </LaunchAction>
    

IPHONEOS_DEPLOYMENT_TARGET сама по себе не сработала, но LaunchAction, установленный на Debug, решил проблему для меня.

Craig Rees 12.05.2023 12:01

Переключаю канал на мастер и бегу flutter upgrade. И измените на stable channel и снова запустите flutter upgrade. После этого моя сборка работает хорошо.

У меня была такая же проблема. После выполнения flutter upgrade (с версии 3.7.9 на 3.7.10) снова заработало.

Красиво, у меня тоже сработало. У меня была версия 3.7.7, а теперь версия 3.7.11 строится без каких-либо предупреждений/сообщений об ошибках. Примечание. Я также внес изменения в файл Pods-Runner-frameworks.sh, как это было предложено Bm Mn в приведенном выше ответе, с Flutter версии 3.7.7, и это не сработало. Может быть, эти два ответа вместе являются решением.

Coala Jedi 18.04.2023 00:19

Вы можете решить эту проблему, обновив версию Flutter. Вот журнал изменений официального исправления для Xcode 14.3.

Здесь

В моем случае работают два способа. Первый способ — откат Xcode (14.3) до (14.2). Второй способ — обновить Flutter до 3.7.12, а затем открыть файл ios/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh. Найдите эту строку

if [ -L "${source}" ]; then
echo "Symlinked..."
source = "$(readlink "${source}")"
fi

Измените его на:

if [ -L "${source}" ]; then
echo "Symlinked..."
source = "$(readlink -f "${source}")"
fi

Я изменил свою конфигурацию сборки с режима выпуска на режим отладки, и она успешно строится.

Вы можете изменить конфигурацию сборки из Xcode. Перейдите к крану продукта, а затем схема. Отредактируйте схему и измените ее в выпадающем меню для отладки.

Делать:

Flutter clean

Или сборка из Xcode будет работать.

В каком контексте? Из командной строки? Разве это не приведет к Command 'Flutter' not found?

Peter Mortensen 29.04.2023 13:20

Обновите Flutter до 3.7.12, а затем измените конфигурацию сборки с режима выпуска на режим отладки. После этого симулятор iOS должен заработать.

Благодаря ответу Киумарса.

В моем случае у меня была версия Flutter 3.7.1, и обновление до 3.7.12 решило эту проблему.

проверьте, правильно ли установлены ваши модули, это может произойти, если вы забудете установить модули для своего приложения ios

Эта проблема возникает из-за того, что вы обновили Xcode до версии 14.3.

Чтобы решить эту проблему, вам нужно обновить флаттер до версии 3.7.1 с помощью этой команды:

$ cd flutter
$ git checkout 3.7.1
$ flutter build ipa

Обновление Cocopods до 1.12.1 исправило это для меня.

Другие вопросы по теме

После обновления до Xcode 14.3 при попытке заархивировать приложение Flutter я получаю сообщение «Ошибка выполнения команды PhaseScriptExecution с ненулевым кодом выхода»
Как настроить 2 проекта Cloud Firestore для связи с одним приложением Flutter?
Облицовка «RangeError: недостаточно доступных байтов». Когда я пытаюсь получить значения из Hive db
Локальные уведомления 2023. Как установить периодические уведомления?
Приложение Flutter, которое печатает сообщение, когда пользователь нажимает кнопку гарнитуры
Не удается запустить приложение Flutter на симуляторе после обновления XCode до версии 14.3 из-за отсутствия файла libarclite_iphonesimulator.a
Приложение Flutter зависает на заставке (java.lang.RuntimeException: невозможно запустить активность ComponentInfo)
Как остановить дрожание линейного графика
Невозможно получить местоположение от Swift до Flutter с помощью пользовательского кода для конкретной платформы
Flutter Android - Запись файлов на внешнее хранилище