Flutter 2.5.1 - 无法为模拟器构建应用程序

Flutter 2.5.1 - Could not build the application for the simulator

我将我的项目从 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'

我所有的 package/plugins 都更新到 nullsafety 版本,我也确实删除了 ios 文件夹并使用 flutter create . 创建了一个新文件夹,我仍然得到相同的结果。

pubspec.yaml 和 运行 flutter pub get 中删除插件。

然后再次添加插件 运行 flutter pub get.

flutter pub cache repair

请尝试以下步骤:

如果你有英特尔芯片

  1. 颤抖干净
  2. 将pubspec.yml文件中的所有依赖项更新为最新版本并执行'get pub'
  3. 转到您的 Podfile 并取消注释 #platform :ios, '9.0' 然后将版本更改为 10 platform :ios, '10.0'
  4. 通过终端转到 ios 文件夹并执行 'pod repo update'
  5. 'pod update' 或 'pod install'

如果你有M1芯片

  1. 颤抖干净
  2. 将pubspec.yml文件中的所有依赖项更新为最新版本并执行'get pub'
  3. 转到您的 Podfile 并取消注释 #platform :ios, '9.0' 然后将版本更改为 10 platform :ios, '10.0'
  4. 通过终端转到 ios 文件夹并执行 'arch -x86_64 pod repo update'
  5. 'arch -x86_64 pod update' 或 'arch -x86_64 pod install'

自从您迁移到 Flutter 2.0(空安全)后,出现此错误的原因有很多。

您重新创建了整个 ios and/or android 这将生成新的代码(或语法)和文件,这可能会导致像您所面临的错误.

对于计划迁移的任何人,请始终在 ios and/or android 文件夹中分别保留内部配置的备份文件。

不要只是放下你的 iOSandroid 文件夹!

您需要手动重新配置这些文件夹下的文件。 如果您使用的是 Firebase 包,则可以在 Podfile 中的 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'

遵循一些提示here

之后,确保配置回其他应用的元数据,如 AppBundleNameinfo.plist

中的一些权限

另一件事

(可能是可选的) 如果您要检查 pubspec.yaml,您需要为新的 linting 选项添加一个新行。注意间距。

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^1.0.0

那就按照 99% Whosebug 用户对这件事总是说的去做:)

delete pubspec.lock

delete pods folder

delete Podfile.lock

flutter pub cache repair

flutter clean

flutter pub get