flutter - 如何在共享扩展中获取shared_preferences

标签 flutter sharedpreferences swift5 share-extension

我想知道如何在iOS共享扩展中获取shared_preferences(swift代码)。

我在此代码中使用“shared_preferences”存储 session 日期。

SharedPreferences.getInstance().setString("session", "session_sata")

并且,我尝试使用 UserDefaults (如此代码)在共享扩展 (swift) 中获取“SharedPreferences”iOS。

UserDefaults.standard.persistentDomain(forName: "") 
UserDefaults.init(suiteName: "") 

但是,我无法在 swift 代码中获取 session 日期,更找不到“flutter.session”的键。

有人知道如何在iOS共享扩展中获取shared_preferences吗?

引用 Access Flutter SharedPreferences in Swift

enter image description here

最佳答案

为了能够在 iOS 主机应用及其应用扩展之间共享数据,您需要:

  1. 向应用和扩展程序添加应用组功能/权利
  2. 设置从 suiteName 初始化的 UserDefaults 实例:UserDefaults(suiteName: ${appGroupIdentifier})

不幸的是,这在 SharedPreferences pub 的当前状态下是不可能的。 。这是GitHub issue解决这个问题。

解决您的问题的一个可能的解决方案是尝试这个酒吧,它似乎是为了处理这个用例而创建的:https://pub.dev/packages/shared_preference_app_group

关于flutter - 如何在共享扩展中获取shared_preferences,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64330261/

相关文章:

ios - 显示 SwiftUI 屏幕时自动播放音频

dart - 迭代 flutter map 中的元素

android - 将 SharedPreferences(不是 DefaultSharedPreferences)设置为默认值

android - 共享首选项不更新对话框内的键值

java - 在 SQLite 数据库中插入数据与在 Android 中使用 SharedPreferences

Swift 5.1 组合可观察/环境变量在 didSet 时未更新

swift - Swift Property Wrapper 能否引用其包装属性的所有者?

Flutter:在 dart 中的特定 NUMBER 个字符后修剪字符串

android - 如何从 Flutter 中的 Intent 加载图像?

ios - iOS 14 上的 flutter FCM 7