Flutter开发IOS蓝牙APP的大坑

Core Bluetooth 框架限制:iOS 的 Core Bluetooth 框架存在限制,如果指定的特征配置同时允许通知(Notifications)和指示(Indications),调用相关方法设置通知值时,默认仅会开启通知功能,而不会开启指示功能。这意味着即使蓝牙服务通过 Indications 发送数据,由于 iOS 端没有正确开启对 Indications 的支持,导致无法接收。

也就是说,如果你的项目是要连接一个蓝牙设备,并且你需要使用的蓝牙特征同时支持:通知(Notifications)和指示(Indications)时就会出问题。

目前我测试情况如下:

1、特征只有Notifications,ios可以接收数据

2、特征只有Indications,ios可以接收数据

3、特征同时支持 Notifications 和 Indications,并通过Indications发送数据,无法接收数据

4、iOS 的 Core Bluetooth 框架存在限制,如果指定的特征配置同时允许通知(Notifications)和指示(Indications),调用相关方法设置通知值时,默认仅会开启通知功能。 尝试强制启用Indications,官方框架限制不提供设置的接口

复制代码
官方设置订阅Notifications 和 Indications统一使用characteristic.setNotifyValue(true);
不提供指定其中一种的单独订阅方法

5、尝试强制将特征属性设置为仅有Indications,官方框架限制并报错

CoreBluetooth 框架不允许直接修改客户端特征配置描述符(CCCD,UUID 0x2902)的值​ ​。iOS 强制要求必须使用 setNotifyValue(_:for:) 方法来管理特征的通知/指示订阅,而不能直接操作 CCCD 描述符。

相关推荐
心中有国也有家12 分钟前
AtomGit Flutter 鸿蒙客户端:情绪日记的时间线实现
学习·flutter·华为·harmonyos
西西学代码1 小时前
Flutter---Container
flutter
西西学代码1 小时前
Flutter---底部导航栏(2)
开发语言·javascript·flutter
浮江雾3 小时前
Flutter第二节----Dart中的常量与变量
开发语言·前端·javascript·flutter·入门
2501_915909063 小时前
IPA 深度混淆是什么意思?从混淆强度到实际效果的解读
android·ios·小程序·https·uni-app·iphone·webview
yuanlaile4 小时前
前端转 Flutter 踩坑实录:一套可落地 Flutter 鸿蒙 App 完整学习路线,建议收藏!
flutter·harmonyos·flutter开发鸿蒙·跨平台开发app·flutter深入学习
ZZZMMM.zip4 小时前
基于鸿蒙HarmonyOS NEXT开发AI天气助手应用:智能出行新体验与鸿蒙Flutter框架跨端实践
人工智能·flutter·华为·harmonyos·鸿蒙系统
心中有国也有家5 小时前
AtomGit Flutter 鸿蒙客户端:一键记录情绪的极致体验
学习·flutter·华为·harmonyos
不才难以繁此生5 小时前
HarmonyOS RDB 实战|中式美食菜谱表设计:食材、步骤与购物清单怎么落库
flutter·harmonyos·rdb·中式美食·本地持久化
心中有国也有家5 小时前
AtomGit Flutter 鸿蒙客户端: 周情绪柱状图
学习·flutter·华为·harmonyos