iOS端蓝牙重连补偿
问题分析
目前,针对已知的系统级的差异, 在iOS端设备中存在某些限制(隐私防护更为严格):
- MAC地址 不允许访问
- 极端情况 重连机制受限
本次的方案, 重点关注 极端情况下的 重连问题; 目前的极端情况在 iOS 极端情况说明 有介绍;
在这里,简单回顾下几种情况:
-
外设
- 外设原因, 外设通过升级固件、设置了动态MAC的隐私机制; 会导致无法重连情况
- RPA(Resolvable Private Address)支持, 是 BLE协议中 重要的隐私保护增强手段.(目前咱们的外设是不支持)
-
iOS设备
- iPhone手机重启手机或者蓝牙重启的情况, (极少数情况,目前Apple也没有具体的情况说明)
- 正常的重启手机 和 蓝牙重启是不会出现的
- 系统蓝牙栈缓存数据因蓝牙模块Crash、系统异常重建被清除时, (极少数情况下, 目前Apple也没有具体的情况)
- iPhone手机重启手机或者蓝牙重启的情况, (极少数情况,目前Apple也没有具体的情况说明)
对于,目前客户提出的连接不上的情况, 需要澄清的是, 程序问题导致的重连不上, 并非是达到了上述iOS的重连限制. 本次的方案, 重点关注的是这个极端情况下的重连限制.