Flutter开发IOS蓝牙APP的大坑

打印 上一主题 下一主题

主题 1737|帖子 1737|积分 5211

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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,官方框架限制不提供设置的接口

  1. 官方设置订阅<strong>Notifications 和 Indications</strong>统一使用characteristic.setNotifyValue(true);
  2. 不提供指定其中一种的单独订阅方法
复制代码
5、尝试逼迫将特征属性设置为仅有Indications,官方框架限制并报错
CoreBluetooth 框架不答应直接修改客户端特征设置形貌符(CCCD,UUID 0x2902)的值​​。iOS 逼迫要求必须利用 setNotifyValue(_:for 方法来管理特征的通知/指示订阅,而不能直接操纵 CCCD 形貌符。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

十念

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表