Flutter iOS模拟器报MissingPluginException问题求助
解决Flutter iOS模拟器MissingPluginException报错的方案
针对你在iOS模拟器上所有插件都出现MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/)的问题,按以下步骤排查修复:
1. 清理缓存并重新构建项目
- 执行Flutter清理命令:
flutter clean - 删除iOS目录下的Pods相关文件:
rm -rf ios/Pods ios/Podfile.lock - 重新获取Flutter依赖:
flutter pub get - 进入iOS目录安装Pods:
cd ios && pod install - 重启iOS模拟器,重新运行项目:
flutter run
2. 检查Podfile配置
- 打开
ios/Podfile,确保iOS平台版本符合插件要求(多数新插件需iOS 13.0及以上):platform :ios, '13.0' - 确认Podfile的
target 'Runner' do块内包含use_frameworks!或use_modular_headers!(Firebase等插件依赖此配置)。
3. 检查Xcode项目配置
- 打开
ios/Runner.xcworkspace(请勿打开xcodeproj文件) - 执行Xcode清理:点击菜单栏
Product > Clean Build Folder(快捷键Cmd+Shift+K) - 确认项目的Bundle Identifier与配置一致
- 检查
Build Phases > Embed Frameworks中是否包含插件相关框架,若缺失重新执行pod install
4. 确认插件的iOS配置
- 对于Firebase相关插件,确保
GoogleService-Info.plist已添加到Xcode的Runner目录(拖入时勾选"Copy items if needed") - 检查
AppDelegate.swift中是否正确注册插件:import Flutter import UIKit @UIApplicationMain class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } }
5. 检查版本兼容性
- 执行
flutter doctor查看Flutter与Xcode的兼容性,修复输出中提示的iOS相关问题 - 若Flutter SDK版本与Xcode 15.4(对应xcode-select 2405)不兼容,可升级Flutter到最新稳定版
6. 重置模拟器
- 打开Xcode的
Window > Devices and Simulators,选中当前模拟器右键删除 - 新建一个iOS模拟器后重新运行项目
内容的提问来源于stack exchange,提问作者meory
相关产品推荐
相关产品推荐

