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 关键参数说明
相关推荐
键盘敲没电4 小时前
【IOS】GCD学习
学习·ios·objective-c·xcode
SY.ZHOU4 小时前
Significant Location Change
macos·ios·cocoa
吴Wu涛涛涛涛涛Tao12 小时前
深入理解 Swift Codable:从基础到进阶
ios
Jouzzy18 小时前
【iOS安全】iPhone X iOS 16.7.11 (20H360) WinRa1n 越狱教程
安全·ios·iphone
二流小码农1 天前
鸿蒙开发:实现一个标题栏吸顶
android·ios·harmonyos
season_zhu1 天前
iOS开发:关于日志框架
ios·架构·swift
Digitally1 天前
如何在电脑上轻松访问 iPhone 文件
ios·电脑·iphone
安和昂1 天前
【iOS】YYModel源码解析
ios
pop_xiaoli1 天前
UI学习—cell的复用和自定义cell
学习·ui·ios
Daniel_Coder2 天前
Xcode 16.4 + iOS 18 系统运行时崩溃:___cxa_current_primary_exception 符号丢失的原因与解决方案
ios·xcode·ios 18·dyld·libc++abi