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 关键参数说明
相关推荐
finger2448011 分钟前
谈一谈iOS线程管理
ios·objective-c
Digitally33 分钟前
如何将大型视频文件从 iPhone 传输到 PC
ios·iphone
梅名智1 小时前
IOS 蓝牙连接
macos·ios·cocoa
美狐美颜sdk8 小时前
跨平台直播美颜SDK集成实录:Android/iOS如何适配贴纸功能
android·人工智能·ios·架构·音视频·美颜sdk·第三方美颜sdk
恋猫de小郭13 小时前
Meta 宣布加入 Kotlin 基金会,将为 Kotlin 和 Android 生态提供全新支持
android·开发语言·ios·kotlin
泓博14 小时前
Objective-c把字符解析成字典
开发语言·ios·objective-c
Daniel_Coder14 小时前
Xcode 中常用图片格式详解
ios·xcode·swift
瓜子三百克15 小时前
Objective-C 路由表原理详解
开发语言·ios·objective-c
帅次15 小时前
Objective-C面向对象编程:类、对象、方法详解(保姆级教程)
flutter·macos·ios·objective-c·iphone·swift·safari
RyanGo17 小时前
iOS断点下载
ios·swift