Flutter 2.5.1 — Не удалось создать приложение для симулятора

#flutter #dart #dart-null-safety

Вопрос:

Я перенес свой проект с Flutter 1 на 2.5.1 и исправил эту ошибку

Результат:

 In file included from
/Users/Jeremy/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-6.0.11/ios/Classes/FLT
URLLauncherPlugin.m:7:
/Users/Jeremy/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-6.0.11/ios/Classes/FLT
URLLauncherPlugin.h:5:9: fatal error: 'Flutter/Flutter.h' file not found

#import <Flutter/Flutter.h>
        ^~~~~~~~~~~~~~~~~~~

1 error generated.
note: Using new build system
note: Building targets in parallel
note: Planning build
note: Analyzing workspace
note: Constructing build description
note: Build preparation complete
note: Removed stale file
'/Users/Jeremy/Library/Developer/Xcode/DerivedData/Runner-bkrpcbgqxwmjkngadaeegdgrlbut/Build/Products/
Debug-iphonesimulator/share/share.framework'

note: Removed stale file
'/Users/Jeremy/Library/Developer/Xcode/DerivedData/Runner-bkrpcbgqxwmjkngadaeegdgrlbut/Build/Products/
Debug-iphonesimulator/flutter_keyboard_visibility/flutter_keyboard_visibility.framework'

note: Removed stale file
'/Users/Jeremy/Library/Developer/Xcode/DerivedData/Runner-bkrpcbgqxwmjkngadaeegdgrlbut/Build/Products/
Debug-iphonesimulator/sqflite/sqflite.framework'

note: Removed stale file
'/Users/Jeremy/Library/Developer/Xcode/DerivedData/Runner-bkrpcbgqxwmjkngadaeegdgrlbut/Build/Products/
Debug-iphonesimulator/geocoding/geocoding.framework'

note: Removed stale file
'/Users/Jeremy/Library/Developer/Xcode/DerivedData/Runner-bkrpcbgqxwmjkngadaeegdgrlbut/Build/Products/
Debug-iphonesimulator/package_info_plus/package_info_plus.framework'

note: Removed stale file
'/Users/Jeremy/Library/Developer/Xcode/DerivedData/Runner-bkrpcbgqxwmjkngadaeegdgrlbut/Build/Products/
Debug-iphonesimulator/google_sign_in/google_sign_in.framework'

note: Removed stale file
'/Users/Jeremy/Library/Developer/Xcode/DerivedData/Runner-bkrpcbgqxwmjkngadaeegdgrlbut/Build/Products/
Debug-iphonesimulator/connectivity_plus/connectivity_plus.framework'

note: Removed stale file
'/Users/Jeremy/Library/Developer/Xcode/DerivedData/Runner-bkrpcbgqxwmjkngadaeegdgrlbut/Build/Products/
Debug-iphonesimulator/Runner.app'

note: Removed stale file
'/Users/Jeremy/Library/Developer/Xcode/DerivedData/Runner-bkrpcbgqxwmjkngadaeegdgrlbut/Build/Products/
Debug-iphonesimulator/geolocator_apple/geolocator_apple.framework'

note: Removed stale file
'/Users/Jeremy/Library/Developer/Xcode/DerivedData/Runner-bkrpcbgqxwmjkngadaeegdgrlbut/Build/Products/
Debug-iphonesimulator/google_maps_flutter/google_maps_flutter.framework'
 

Все мои пакеты/плагины обновлены до версии nullsafety, и я также удалил папку ios и создал новую, используя flutter create . ее, и все равно получаю тот же результат.

Ответ №1:

Существует множество причин, по которым эта ошибка возникает с тех пор, как вы перешли на Flutter 2.0 (нулевая безопасность).

Вы заново создали целое ios и/или android которое сгенерирует новые коды (или синтаксис) и файлы, которые могут привести к ошибке, подобной той, с которой вы столкнулись.

Для всех, кто планирует миграцию, пожалуйста, всегда сохраняйте файл резервной копии для ваших внутренних конфигураций в ios и/или android папках соответственно.

НЕ ПРОСТО БРОСАЙТЕ ПАПКУ iOS И android ОБРАТНО!

Вам необходимо вручную перенастроить свои файлы в этих папках. Если вы используете пакеты Firebase, вы можете добавить эти строки в свой подфайл внутри предложения target 'Runner' do:

 # add the Firebase pod for Google Analytics
# or pod ‘Firebase/AnalyticsWithoutAdIdSupport’
# for Analytics without IDFA collection capability
# add pods for any other desired Firebase products
# https://firebase.google.com/docs/ios/setup#available-pods
  pod 'Firebase/Analytics'
  pod 'Firebase/DynamicLinks'
 

Следуйте некоторым советам здесь

После этого убедитесь, что вы настроили метаданные другого приложения, такие как AppBundleName и некоторые разрешения в info.plist

И ЕЩЕ ОДНО

(может быть необязательно) Если вы собираетесь проверить pubspec.yaml, там есть новая строка, которую вам нужно добавить для новых опций компоновки. Обратите внимание на расстояние.

 dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^1.0.0
 

Затем сделайте то, что 99% stackoverflow пользователей всегда говорят по этому поводу 🙂

delete pubspec.lock

delete pods folder

delete Podfile.lock

flutter pub cache repair

flutter clean

flutter pub get

Ответ №2:

Удалите плагин из pubspec.yaml и запустите flutter pub get .

Затем снова добавьте плагин и запустите flutter pub get .

или

flutter pub cache repair

Комментарии:

1. Спасибо за ваш ответ, что вы имеете в виду, удалив плагин?

2. должен ли я удалить все или только то, что указано в ошибке?

3. Только перечисленные. url_launcher

4. Я все равно получаю тот же результат.

5. попробуй flutter clean , а потом flutter pub get

Ответ №3:

Пожалуйста, попробуйте выполнить следующие действия :

если у вас есть чип intel

  1. порхание чистое
  2. обновите все зависимости до последней версии в файле pubspec.yml и сделайте «get pub»
  3. Перейдите в свой подфайл и раскомментируйте #платформа :ios, ‘9.0’, затем измените версию на 10 платформа :ios, ‘10.0’
  4. перейдите в папку ios через терминал и выполните «обновление репозитория pod».
  5. «обновление модуля» или «установка модуля»

если у вас есть чип M1

  1. порхание чистое
  2. обновите все зависимости до последней версии в файле pubspec.yml и сделайте «get pub»
  3. Перейдите в свой подфайл и раскомментируйте #платформа :ios, ‘9.0’, затем измените версию на 10 платформа :ios, ‘10.0’
  4. перейдите в папку ios через терминал и выполните «обновление репозитория arch -x86_64 pod».
  5. «обновление модуля arch -x86_64» или «установка модуля arch -x86_64»