#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
- порхание чистое
- обновите все зависимости до последней версии в файле pubspec.yml и сделайте «get pub»
- Перейдите в свой подфайл и раскомментируйте #платформа :ios, ‘9.0’, затем измените версию на 10 платформа :ios, ‘10.0’
- перейдите в папку ios через терминал и выполните «обновление репозитория pod».
- «обновление модуля» или «установка модуля»
если у вас есть чип M1
- порхание чистое
- обновите все зависимости до последней версии в файле pubspec.yml и сделайте «get pub»
- Перейдите в свой подфайл и раскомментируйте #платформа :ios, ‘9.0’, затем измените версию на 10 платформа :ios, ‘10.0’
- перейдите в папку ios через терминал и выполните «обновление репозитория arch -x86_64 pod».
- «обновление модуля arch -x86_64» или «установка модуля arch -x86_64»