You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter iOS端SharedPreferences报MissingPluginException问题求助

解决iOS Flutter应用SharedPreferences MissingPluginException问题

可行修复方案

1. 彻底重建iOS依赖与项目

  • 执行flutter clean清理项目缓存
  • 删除iOS目录下的Pods文件夹
  • 进入iOS目录,先后执行pod deintegrate和pod install
  • 返回项目根目录执行flutter pub get
  • 用Xcode打开ios/Runner.xcworkspace,按Cmd+Shift+K清理构建缓存后重新运行

2. 确认插件注册逻辑

  • 检查ios/Runner/AppDelegate.swift(或Objective-C的AppDelegate.m):
    • Swift版本需确保存在GeneratedPluginRegistrant.register(with: self)代码
    • Objective-C版本需确保存在[GeneratedPluginRegistrant registerWithRegistry:self];代码
  • 若使用Flutter 3.10+的FlutterViewController场景,确认插件注册逻辑未被误删

3. 修正SharedPreferences初始化时机

  • 避免启动时同步调用SharedPreferences方法,改用异步初始化:
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await SharedPreferences.getInstance();
  runApp(const MyApp());
}
  • 注意:setMockInitialValues仅用于测试场景,不能作为生产环境的临时修复,这会导致重启后数据清空

4. 检查版本兼容性

  • 查看pubspec.yaml中shared_preferences的版本,确保与当前Flutter SDK兼容,可执行flutter pub upgrade shared_preferences升级到最新稳定版

5. 验证Xcode构建配置

  • 在Xcode的Runner目标中,确认Build Phases -> Embed Frameworks包含shared_preferences相关框架
  • 检查Build Settings中的Other Linker Flags是否包含-ObjC

内容的提问来源于stack exchange,提问作者Shebin PR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 20:20:17