iPhone 4S上的Corebluetooth故障?
发布时间:2020-12-14 17:32:28 所属栏目:百科 来源:网络整理
导读:我一直在广泛测试iPhone 4s以及iPhone 5的BLE功能. 目前,我所做的就是从多个TI BLE密钥卡中提取广告数据,并使用每个相应设备的kCBAdvDataLocalName,ManufacturingData和ServiceUUID填充UITableView. 基本上,当我拉入广告数据时,我也会拉入外围设备的UUID并使
我一直在广泛测试iPhone 4s以及iPhone 5的BLE功能.
目前,我所做的就是从多个TI BLE密钥卡中提取广告数据,并使用每个相应设备的kCBAdvDataLocalName,ManufacturingData和ServiceUUID填充UITableView. 基本上,当我拉入广告数据时,我也会拉入外围设备的UUID并使用它来填充tableview的数据源阵列. (即,如果找到新的UUID并且它不在数据源阵列中,则将其添加到阵列并使用它来检索相应的外围设备). 使用iPhone 5,这可以完美运行.但是,当我使用iPhone 4S进行测试(并且我已经测试了多个)时,BLE硬件会引入NULL UUID,因此阻止我将任何外围设备的信息添加到数据源阵列.在我的控制台日志中,手机确实发现了每个外围设备,并显示其本地名称和制造数据,但每个设备都有一个空的UUID. 我还在4S和5上同时使用完全相同的代码运行我的测试应用程序,它将在5而不是4S上运行.所以我想知道是否有人有同样的问题,无论是SDK或硬件中的错误,还是有一个已知的解决方法?任何反馈都将非常感谢,谢谢. 解决方法
iOS 6中的问题是,在您实际连接到设备之前,不会生成UUID. UUID是在iOS端为每个外围设备生成的,因此在使用不同的iOS设备时,您通常会看到同一外围设备的不同UUID.我经常检查UUID,然后如果它是NULL,我将取消名称.如果名称为NULL,那么我不会在设备列表中填充它.您的另一个选择是快速连接,然后断开与设备的连接.很大的时间黑客,但它会生成UUID,然后从那时起非空.据说这个问题将在iOS的下一个版本中修复.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |