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

M Z*_*had 7 android nsuserdefaults sharedpreferences ios flutter

iOS商店里已经有一个应用程序,现在计划用新版本将其替换为 Flutter release

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

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

在我的pubspec.yaml文件中:

dependencies:
  shared_preferences: ^0.5.12+4
Run Code Online (Sandbox Code Playgroud)

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

import 'package:shared_preferences/shared_preferences.dart';
Run Code Online (Sandbox Code Playgroud)

iOS这就是我尝试从应用程序访问应用程序中存储的数据的方式native,我在 flutter 项目中使用相同的包 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;
}
Run Code Online (Sandbox Code Playgroud)

它总是返回 null。而“user”键在从 iOS 本机应用程序获取时具有数据。

小智 1

这种情况,我建议您使用平台渠道方式

平台渠道

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

我希望它对你有用。