欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > Flutter 实现 iOS 小组件与主 App 的通信

Flutter 实现 iOS 小组件与主 App 的通信

2025/2/26 12:25:51 来源:https://blog.csdn.net/lyh1083908486/article/details/145615504  浏览:    关键词:Flutter 实现 iOS 小组件与主 App 的通信

前言

在 Flutter 项目中实现 iOS 小组件与主 App 的通信,主要依赖于 App Groups 技术,以下是具体实现步骤和注意事项。
在这里插入图片描述

配置 App Groups

在 Xcode中为 Flutter 主应用(Runner)和 Widget Extension 配置相同的App Group 标识符(如 group.com .company.myApp)。

  1. 操作路径:项目的 Signing & Capabilities→ 添加App Groups → 输入唯一标识符
  2. 需确保主应用和小组件扩展的 Bundle Identifier 均属于同一开发者账号,否则无法启用 App Groups
    在这里插入图片描述
    在这里插入图片描述

UserDefaults 数据共享

Flutter 端
通过 home_widget 插件设置 App Group ID 并保存数据:

  1. 安装 home_widget 插件
flutter pub add home_widget
  1. 使用
    home_widget插件官方使用文档
  HomeWidget.setAppGroupId('group.com.company.myApp'); // 初始化HomeWidget.saveWidgetData<String>('key', 'value');    // 保存数据

iOS 原生端(小组件)
通过 UserDefaults(suiteName:) 读取数据:

 let sharedDefaults = UserDefaults(suiteName: "group.com.company.myApp")let value = sharedDefaults?.string(forKey: "key") ?? ""

主动刷新小组件

主动刷新 iOS 小组件

  HomeWidget.updateWidget(iOSName: 'TikuWidget',);

结语

通过 App Group 和 home_widget 插件 我们就轻松实现了 Flutter 项目中的 iOS 小组件与主 App 的通信。


感谢您的阅读和参与,HH思无邪愿与您一起在技术的道路上不断探索。如果您喜欢这篇文章,不妨留下您宝贵的赞!如果您对文章有任何疑问或建议,欢迎在评论区留言,我会第一时间处理,您的支持是我前行的动力,愿我们都能成为更好的自己!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词