Flutter 中的共享首选项错误 - Mac 上的 iOS

Posted

技术标签:

【中文标题】Flutter 中的共享首选项错误 - Mac 上的 iOS【英文标题】:Shared Preferences error in Flutter - iOS on Mac 【发布时间】:2018-10-03 17:22:32 【问题描述】:

我正在尝试在 Mac 上的 ios 上运行 Flutter 应用程序。当我尝试构建项目时,它给了我这个错误:

Xcode 的输出: ↳ === 使用 CONFIGURATION Debug 构建项目 Pod 的 shared_preferences 目标 === 在 /Users/(username)/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.2.4/ios/Classes/SharedPreferencesPlugin.m:5 包含的文件中: /Users/(用户名)/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.2.4/ios/Classes/SharedPreferencesPlugin.h:1:9: 致命错误:找不到“Flutter/Flutter.h”文件 #进口 ^~~~~~~~~~~~~~~~~~~ 产生 1 个错误。 无法为模拟器构建应用程序。

我尝试从不同的 Flutter 通道构建它,没有变化。

知道有什么问题吗?

编辑: 颤振版本 0.2.8 吊舱版本 1.5.0

【问题讨论】:

你用的是什么flutter版本? flutter --versionpod --version 的输出也会有所帮助。 【参考方案1】:

https://github.com/flutter/flutter/issues/16036#issuecomment-380712094 提供似乎对其他人有用的说明

我可以请您尝试以下方法吗:

确保你安装了 Cocoapods 1.5.0 (pod --version 应该说 1.5.0) 将您对firebase_xxxgoogle_sign_incloud_firestore 插件的所有依赖项更改为最新版本 (查找涉及 Cocoapods 1.5.0 的变更日志条目) 改变你的 ios/Podfile Flutter master 分支上的最新版本 (https://github.com/flutter/flutter/tree/master/packages/flutter_tools/templates/cocoapods) 删除ios/Podfile.lockios/Pods切换到Flutter master分支 flutter clean ; flutter run

【讨论】:

这解决了我的 flutter.h not found 问题。谢谢!【参考方案2】:

我在尝试包含音频播放器包时遇到了类似的问题

... audioplayer-0.4.0/ios/Classes/AudioplayerPlugin.h:1:9:致命错误:找不到“Flutter/Flutter.h”文件)。

我以为我是最新的,但是在我进行了 Flutter 升级然后从我的项目下的 ios 目录中删除 Podfile、Podfile.lock 和 Pods 文件夹(并运行 flutter clean)之后,我终于能够构建并发布到 iOS。见https://github.com/flutter/flutter/pull/16273

我正在使用 Xcode 9.3 和 Cocoapods 1.5.0。

Flutter 升级后显示 0.3.1 版本。

【讨论】:

以上是关于Flutter 中的共享首选项错误 - Mac 上的 iOS的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:使用共享首选项时对 null 的方法调用

如何使用 dart/flutter 中的共享首选项保存和获取列表列表

如何将对象列表中的布尔收藏夹保存到 Flutter 中的共享首选项

Flutter 存储共享首选项中的自定义类列表

LateInitializationError:字段“显示名称”尚未在 Flutter 共享首选项中初始化?

Flutter:共享首选项的奇怪行为