admin管理员组文章数量:1642156
iOS13更新之后,app关于iPhone作为蓝牙Ble外围设备发送广播时直接崩了,当时内心也是崩溃的,因为在iOS13之前自己做智能硬件开发也已经三四年了,iOS的蓝牙一直很稳定(让安卓的同事羡慕)。
问题是:
“CBAdvertisementDataTxPowerLevelKey”这个字段从那冒出来的我没写啊,因为在iOS13之前写了也没用。然后各种找问题后来有个兄弟也加入了进来,我们各种查看API都没有用啊,内心是崩溃的,但是我秉持着作为一个程序猿不撞南墙不回头的信念试呀试、试呀试,突然找到自己最早写的蓝牙模块的代码,一试我去竟然可以没有0x0a,
什么鬼?屎黄屏凑乎看一下吧。
蓝牙模块的代码自己用了三年没有大动过。尼玛?为啥三年前写的测试代码可以???心中一万只羊驼在奔腾。使劲对比结果还是不应该啊,各种manager、uuid、API没毛病啊?一毛一样。问题在哪呢?
各种替换,然后到开始广播的时候奇迹出现了,你没有看错“startAdvertising”,就是临门一脚跟前的配置啥的每一毛钱关系。我的测试代码是广播3个长度为128bit的uuit可以不显示0x0a,然后那个大兄弟是怼了12个16bit的uuid也可以完美避开“CBAdvertisementDataTxPowerLevelKey”。
对于被这个突如其来的问题困扰的兄弟们,这个问题我只能说是可以解决的,具体怎么解决得看你们的代码怎么处理了,因为每个兄弟的代码风格习惯都不一样。试试更健康,大力出奇迹。
然后,在最后给各位做智能硬件开发的移动端程序猿一些建议,对于蓝牙通信有一套标准的蓝牙协议
只要以后硬件工程师按标准办事,不再按位取值,哪怕以后到iOS2020也不用担心蓝牙广播数据出问题。
哇咔咔,问题解决了,是不是很开心。再干一碗鸡汤吧!无规矩不成方圆,按规矩办事才能事半功倍。
本文标签: PeripheralCBAdvertisementDataTxPowerLevelKeyBluetooth
版权声明:本文标题:iOS13-Peripheral-Bluetooth遇到CBAdvertisementDataTxPowerLevelKey问题?解决篇 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1729329257a1196174.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论