Jam*_*ker 5 objective-c core-bluetooth bluetooth-lowenergy ios9.1
当我使用iPhone 6S在iOS 9.1上使用加密连接到BLE外围设备时,BLE外围设备立即断开连接.我已经确认这适用于iOS 8和9.02.我已经验证正在调用CBCentralManager的didConnect委托方法并且正在返回一个有效的CBPeripheral对象.
BLE外设立即断开.在断开连接之前,我甚至无法发现任何服务或特征.调用CBCentralManager didDisconnect方法,但不返回任何错误.
还有其他人看到这个吗?这已经正常工作了一年多,就像我说的那样只有在iPhone 6S上使用iOS 9.1时才会发生.9.1上没有任何其他外围设备可供测试.
UPDATE
根据Apple的说法,问题正在发生,因为我们没有将外围设备与iPhone绑定.所以我们更新了外围设备上的固件,现在正在粘接.这提出了围绕维持电话和外围设备之间的绑定对的不同问题.我们的外设具有有限的内存量,因此我们无法保持无限量的键引用.为了处理这种情况,外围设备允许存储最多8个BLE键.当它收到第九个请求时,第一个绑定将从绑定设备的外围设备列表中删除.这提出了一个问题,因为iPhone不知道这个绑定已被删除,当我尝试连接第一个设备并与特征交互时我没有提示配对.根据我的理解,这是启动加密过程的原因.
我想知道是否还有从绑定设备的iPhone列表中移除绑定/设备,然后进入蓝牙设置并"忘记"设备.
更新#2
Apple已确认,由于安全问题,无法从应用程序的蓝牙设置中的"我的设备"部分删除绑定的外围设备.
基于此,该场景现已转变为以下内容.iOS设备引用了曾经作为"我的设备"下的绑定外设的内容,但该外设不再引用其绑定设备表中的iOS设备.
当我尝试将仍然具有绑定参考的iOS设备连接到不再具有绑定参考的外围设备时,我们可以成功连接.但是,在我成功连接后,我发现了特性,将其设置为通知并且没有响应,也没有配对消息.解决此问题的唯一解决方案是进入"设置"和"忘记"设备,然后尝试重新连接.
还有其他人遇到过这个问题吗?建议?
谢谢!
| 归档时间: |
|
| 查看次数: |
1401 次 |
| 最近记录: |