iPhone 4S上的Corebluetooth故障?

前端之家收集整理的这篇文章主要介绍了iPhone 4S上的Corebluetooth故障?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在广泛测试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的下一个版本中修复.

猜你在找的Xcode相关文章