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

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

相关推荐
maaath6 分钟前
【maaath】 Flutter for OpenHarmony 新闻资讯应用实战开发
flutter·华为·harmonyos
maaath7 分钟前
【maaath】Flutter for OpenHarmony 跨平台图书阅读应用开发实践
flutter·华为·harmonyos
xmdy586612 分钟前
Flutter+开源鸿蒙实战|智联邻里Day2 首页UI开发+全局组件封装+鸿蒙多端适配
flutter·开源·harmonyos
911hzh1 小时前
Flutter 音视频通话集成实战:WebSocket 做信令,WebRTC 传音视频,附详细事件时序图
websocket·flutter·音视频
里欧跑得慢9 小时前
15. Web可访问性最佳实践:让每个用户都能平等访问
前端·css·flutter·web
Lanren的编程日记12 小时前
Flutter 鸿蒙应用数据版本管理实战:版本记录+版本回退+版本对比,实现全链路数据版本控制
flutter·华为·harmonyos
美狐美颜SDK开放平台15 小时前
多场景美颜SDK解决方案:直播APP(iOS/安卓)开发接入详解
android·人工智能·ios·音视频·美颜sdk·第三方美颜sdk·短视频美颜sdk
wuxianda103017 小时前
苹果App上架4.3a被拒解决方案汇报总结
ios·uni-app·objective-c·cocoa·苹果上架·4.3a
MonkeyKing18 小时前
Flutter列表性能极致优化:从卡顿到丝滑
flutter·dart
IntMainJhy19 小时前
「Flutter三方库sqflite的鸿蒙化适配与实战指南:从入门到踩坑的本地数据库开发全记录」
数据库·flutter·华为·信息可视化·数据库开发·harmonyos