Flutter 添加第一方依赖项后颤振Xcode生成失败

Flutter 添加第一方依赖项后颤振Xcode生成失败,flutter,flutter-dependencies,Flutter,Flutter Dependencies,在使用Android Studio和Flatter SDK构建应用程序时,我决定获得共享_首选项插件并使用它。不久之后,我注意到,尽管该应用程序在我的Android设备上运行良好,但它无法在模拟器上运行。为了找到一个解决方案,我尝试直接从Xcode运行它,但同样,它也失败了 在这些错误之后,我打开了GeneratedPluginRegistrant.m文件,其中编辑器只是说“未找到shared_preferences/SharedReferencesPlugin.h文件” 在终端中运行flatt

在使用Android Studio和Flatter SDK构建应用程序时,我决定获得共享_首选项插件并使用它。不久之后,我注意到,尽管该应用程序在我的Android设备上运行良好,但它无法在模拟器上运行。为了找到一个解决方案,我尝试直接从Xcode运行它,但同样,它也失败了

在这些错误之后,我打开了GeneratedPluginRegistrant.m文件,其中编辑器只是说“未找到shared_preferences/SharedReferencesPlugin.h文件”

在终端中运行
flatter-doctor
不会提供任何有用的信息,运行
pod-install
也没有帮助

我还尝试添加了FlatterFire插件,它们都产生了相同的结果

感谢您的帮助

的概念是特定于android的,在iOS中不可用。如果要保存某些内容,我建议您使用in将其发送到本机层并保存

对于iOS,用于保存数据

其他信息:

如何使用共享首选项保存数据?

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); // 0 - for private mode
Editor editor = pref.edit();

editor.putBoolean("key_name", true); // Storing boolean - true/false
editor.putString("key_name", "string value"); // Storing string
editor.putInt("key_name", "int value"); // Storing integer
editor.putFloat("key_name", "float value"); // Storing float
editor.putLong("key_name", "long value"); // Storing long

editor.commit(); // Don't forget to commit when your changes are done.
NSString *valueToSave = @"someValue";
[[NSUserDefaults standardUserDefaults] setObject:valueToSave 
forKey:@"preferenceName"];
[[NSUserDefaults standardUserDefaults] synchronize];
检索数据

// returns stored preference value
// If value is not present return second param value - In this case null
pref.getString("key_name", null); // getting String
pref.getInt("key_name", null); // getting Integer
pref.getFloat("key_name", null); // getting Float
pref.getLong("key_name", null); // getting Long
pref.getBoolean("key_name", null); // getting boolean
如何使用用户默认值保存数据?

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); // 0 - for private mode
Editor editor = pref.edit();

editor.putBoolean("key_name", true); // Storing boolean - true/false
editor.putString("key_name", "string value"); // Storing string
editor.putInt("key_name", "int value"); // Storing integer
editor.putFloat("key_name", "float value"); // Storing float
editor.putLong("key_name", "long value"); // Storing long

editor.commit(); // Don't forget to commit when your changes are done.
NSString *valueToSave = @"someValue";
[[NSUserDefaults standardUserDefaults] setObject:valueToSave 
forKey:@"preferenceName"];
[[NSUserDefaults standardUserDefaults] synchronize];
检索保存的数据

NSString *savedValue = [[NSUserDefaults standardUserDefaults]
stringForKey:@"preferenceName"];
更新:

有一种颤振为我们做到了这一点

将其添加到您的pubspec.yaml文件中

dependencies:
shared_preferences: "^0.4.0"
并在项目根目录的命令行中运行

$ flutter packages get
现在,在您的Dart代码中,您可以使用

import 'package:shared_preferences/shared_preferences.dart';

我认为这是一个众所周知的问题

要将修复程序应用于修复程序登陆之前创建的基于Swift的颤振项目,请将[这些行]添加到
ios/Podfile

我想这意味着


我在iOS的Flitter应用程序中也遇到了这个问题,我已经完成了这里和github中解释的几乎所有事情


我的解决方案是(1)在“颤振升级”后调用“颤振运行”(也需要运行模拟器或连接设备才能正确执行此命令)和(2)在通过上面提到的命令行成功构建应用程序后,关闭它并通过产品->构建以常规方式使用Xcode构建。

实际上,Flatter团队专门为此创建了一个名为“shared_preferences”的插件。我的问题实际上不是试图保存数据。这是关于将插件添加到flatter项目的。一旦添加了依赖项,请转到项目文件夹的根目录,并在终端中运行“flatterpackagesget”,然后再次尝试运行代码。希望这能解决你的问题。是的,你在编辑中说的正是我从一开始就做的。它不起作用,我显然不是唯一一个有这个问题的人。还有,哈哈,我创建了线程#15168:D,我喜欢交叉链接的东西。太棒了,解决了它!很高兴听到:)