当前位置: 首页 > news >正文

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 描述符。

http://www.dtcms.com/a/174935.html

相关文章:

  • 【2025】Visio 2024安装教程保姆级一键安装教程(附安装包)
  • 【奔跑吧!Linux 内核(第二版)】第1章:Linux 系统基础知识
  • Ros工作空间
  • IDEA 占用C盘太大清理
  • LangChain:大语言模型应用的“瑞士军刀”入门指南
  • 上市公司-企业上下游供应链数据(2003-2023年)-社科数据
  • 推导部分和-图论+dfs+连通块
  • 【数据挖掘】Apriori算法
  • 主数据 × 知识图谱:打造企业认知智能的核心基础设施
  • 全国青少年信息素养大赛 Python编程挑战赛初赛 内部集训模拟试卷一及详细答案解析
  • 孤岛铜怎么解决
  • 极狐GitLab 如何将项目共享给群组?
  • 极狐Gitlab 里程碑功能介绍
  • 手写 Vue 源码 === Effect 机制解析
  • Vue3.5 企业级管理系统实战(十七):角色管理
  • WordPress_AdsProPlugin Sql注入漏洞复现(CVE-2024-13322)
  • vue3 computed方法传参数
  • 人工智能 计算智能模糊逻辑讲解
  • 【基于SSM+Vue+Mysql】健身房俱乐部管理系统(附源码+数据库脚本)
  • Kaggle——House Prices(房屋价格预测)简单实现
  • java springboot deepseek流式对话集成示例
  • 推荐系统架构设计
  • 计算机网络复习资料
  • 内存管理(C++)
  • Polygon Miden网络:具有客户端执行的边缘区块链
  • IBM BAW(原BPM升级版)使用教程:基本概念
  • Houdini制作烟雾消散并导入UE5
  • 数字孪生储能充电站,实现智慧能源设施全景管控
  • JDK 发展历史及其版本特性
  • Python训练打卡Day17