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

embedded/2025/2/15 19:17:16/

前言

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


http://www.ppmy.cn/embedded/162485.html

相关文章

水务+AI应用探索(一)| FastGPT+DeepSeek 本地部署

在当下的科技浪潮中&#xff0c;AI 无疑是最炙手可热的焦点之一&#xff0c;其强大的能力催生出了丰富多样的应用场景&#xff0c;广泛渗透到各个行业领域。对于水务行业而言&#xff0c;AI 的潜力同样不可估量。为了深入探究 AI 在水务领域的实际应用成效&#xff0c;切实掌握…

CentOS 7上安装Python 3的步骤如下

CentOS 7上安装Python 3的步骤如下 上传或下载 Python 3 安装包 #下载 wget https://www.python.org/ftp/python/3.13.2/Python-3.13.2.tgz#安装 tar zxvf Python-3.13.2.tgz安装依赖 #安装依赖包 yum install -y zlib-devel bzip2-devel ncurses-devel sqlite-devel readli…

Electron 客户端心跳定时任务调度库调研文档 - Node.js 任务调度库技术调研文档

Electron 客户端心跳定时任务调度库调研文档 - Node.js 任务调度库技术调研文档 本文将对七个流行的定时任务调度库&#xff1a;node-cron、rxjs、bull、node-schedule、agenda、bree、cron。这些库都可以用来处理定时任务&#xff0c;但它们的特点和适用场景有所不同。我们将从…

CEF132 编译指南 Linux 篇 - 版本控制与脚本语言:Git 与 Python 配置(三)

1. 引言 在之前的篇章中&#xff0c;我们已经成功搭建了编译 CEF 所需的基础开发环境。接下来&#xff0c;我们将安装和配置在 CEF 编译流程中扮演着至关重要角色的两个工具&#xff1a;Git 和 Python。Git 作为版本控制系统&#xff0c;负责管理和获取 CEF 的源代码&#xff…

浅识MQ的 Kafka、ActiveMQ、RabbitMQ、RocketMQ区别

DeepSeek回复&#xff1a; 以下是主流消息队列&#xff08;MQ&#xff09;的对比分析&#xff0c;结合核心特性、适用场景和实际案例说明&#xff1a; 一、主流MQ对比分析 维度 Kafka RabbitMQ RocketMQ ActiveMQ所属公司Apache&#xff08;LinkedIn开源&#xff09;…

【Python】条件循环

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Python 文章目录 1. 条件语句1.1 if语句1.2 if - else语句1.3 if - elif - else语句 2. 循环语句2.1 for循环2.2 while循环2.3 循环控制语句2.3.1 break语句2.3.2 continue语句2.3.3 else子句 正文 1. 条件语句 1.1 if语句 i…

大模型被偷家?CNN结合多模态!

2025深度学习发论文&模型涨点之—— CNN多模态 卷积神经网络是一种特殊类型的神经网络&#xff0c;其主要结构包括卷积层、池化层、全连接层和输出层。卷积层通过卷积操作学习图像的特征&#xff0c;池化层通过下采样操作减少参数数量&#xff0c;全连接层和输出层通过分类…

DeepSeek整理PDF文档以思维导图方式展示

目录 一、DeepSeek网页版将PDF文档整理成思维导图 二、将输出的markdown代码复制到文本文件中&#xff0c;将文本文件后缀名修改为.md 三、在思维导图中打开md文件 1、思维导图工具软件 2、新建思维导图文件 3、导入markdown的md文件 4、最终生成思维导图文件 5、思维导…