如何访问iOS UserDefaults在Flutter sharedpreferences中存储的数据



我有一个iOS应用程序已经在商店,现在计划用新版本的release取代它。

我想在Flutter代码中访问本机应用程序的UserDefaults数据。

使用在Flutter文档中建议的方式,我得到null value。我试过的是:

在我的pubspec.yaml文件中:

dependencies:
shared_preferences: ^0.5.12+4

我的home.dart类文件,我正在导入头:

import 'package:shared_preferences/shared_preferences.dart';

这就是我如何试图访问存储在iOS中的数据应用程序从native应用程序,我使用相同的bundle ID(包ID)在扑动项目中覆盖应用程序,它成功覆盖。

@override
void initState() {
super.initState();
getFromLocalMemory('user').then((value) =>
userInfo = value
);
}

Future<String> getFromLocalMemory(String key) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
String user = prefs.getString(key);
return user;
}

它总是返回null。当从iOS原生应用获取时,'user'键有数据。

我们可以使用现有插件native_shared_preferences。它允许我们在Android上访问本地SharedPreferencesUserDefaultsiOS.通过键"SomeKey":

读取值的示例代码
final someKey = "SomeKey";
var prefs = await NativeSharedPreferences.getInstance();
if (prefs.containsKey(someKey)) {
print("Value for SomeKey: ${prefs.get(someKey)}");
}

在这种情况下,我建议您使用平台通道方法

平台渠道

iOS似乎不允许flutter框架访问NSUserDefaults,当它没有从一开始就创建它的时候,…

我希望它对你有用。

相关内容

  • 没有找到相关文章

最新更新