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.
У Flutter появилась проблема: github.com/flutter/flutter/issues/123903
Загрузите Xcode для версии 14.2. Для этого вы можете использовать Xcode Select.
У меня была эта ошибка, и я исправил ее, выполнив следующие действия:
Ссылка на 14.2 кажется теперь download.developer.apple.com/Developer_Tools/Xcode_14.2/…
Вы можете создать приложение для 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 для редактирования и сохранения файла.
Вам не нужно выполнять откат к Xcode 14.2. Следующие шаги работали для меня в версии 14.3:
Убедитесь, что вы обрабатываете версию 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
Убедитесь, что отладка включена в схему LaunchAction Xcode. В файле Runner.xcscheme вы должны быть уверены, что что-то подобное включено...
<LaunchAction
buildConfiguration = "Debug"
//...more lines
</LaunchAction>
IPHONEOS_DEPLOYMENT_TARGET
сама по себе не сработала, но LaunchAction, установленный на Debug, решил проблему для меня.
Переключаю канал на мастер и бегу 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, и это не сработало. Может быть, эти два ответа вместе являются решением.
Вы можете решить эту проблему, обновив версию 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
?
Обновите 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 исправило это для меня.
У меня такая же ошибка. Моя проблема началась с отсутствия файла libarclite_iphoneos.a (stackoverflow.com/questions/75574268/…), и когда я применяю исправление, запускается без проблем на симуляторах, но когда я пытаюсь собрать ipa, возникает эта ошибка.