iOS 蓝牙连接 connectionSupervisionTimeout 是720ms 还是 2~6s

对比

  1. HCI可以看到iPhone作为主设连接外设时,可以看到:
    connection Event Interval = 30ms;
    connection Slave Latency = 0;
    connection Supervision Timeout = 720ms;
  2. 但苹果官方文档《 Accessory Design Guidelines for Apple Devices 》里41.6章里要求:
    Supervision Timeout from 2 seconds to 6 seconds.

原因

这里720ms是iPhone作为主设connect时设定的connectionParameter,但是蓝牙协议允许外设来根据实际情况协商

connection Supervision Timeout以满足需求,故《 Accessory Design Guidelines for Apple Devices 》文档在此时约束了外设协商的 Supervision Timeout from 2 seconds to 6 seconds.

Supervision Timeout 的大小影响能耗及连接健壮性,需根据应用场景灵活设置此值来达到平衡,coreBluetooth API并未提供方法来修改connect的参数设置,故一般让机硬件来修改此Connection Parameter

参考

  1. coreBluetooth报错: Error Domain=CBErrorDomain Code=6 \"The connection has timed out unexpectedly.\"
  2. 《Accessory-Design-Guidelines》
  3. iOS蓝牙 Connection Parameters 关键参数说明
相关推荐
EricStone1 天前
VibeCoding工程流程学习二:iOS项目架构
ios·vibecoding
天桥吴彦祖3 天前
判断iOS如何监听手机屏幕是否锁屏
ios
敲代码的鱼4 天前
PDF 预览与签名批注写回 支持安卓 iOS 鸿蒙 UTS插件
android·前端·ios
时光足迹4 天前
uni-app 视频通话实战:康复师与患者视频问诊的 6 个致命 Bug 与解决方案
android·ios·uni-app
时光足迹4 天前
JPush UniApp UTS 插件完全参考手册:API、事件与厂商通道一网打尽
vue.js·ios·uni-app
时光足迹4 天前
极光推送全攻略(下):uni-app 代码实现与 iOS 排查实战
vue.js·ios·uni-app
时光足迹4 天前
极光推送全攻略(上):被iOS证书折磨了三天,我写了一份前端也能看懂的避坑指南
前端·ios·uni-app
编程范式5 天前
SwiftUI 中图片如何适配可用空间
ios
songgeb7 天前
启发式 UI 自动化:从线性剧本到每步读屏决策
ios·测试
壹方秘境11 天前
我用Go语言开发了一个跨平台的HTTPS抓包和调试工具
前端·后端·ios