【发布时间】:2016-06-11 06:37:28
【问题描述】:
我的应用程序既可以用作中心,也可以用作外围设备。我有一个设备正在搜索另一个广播我的服务 UUID 的设备。这工作正常,直到我连接到外围设备。然后,两台设备上都会出现“蓝牙配对请求”,要求确认 6 位代码并与另一台设备配对。我不希望出现此通知,也不希望设备开始出现在“设置”->“蓝牙”中。
在CBCentralManager.connectPeripheral(CBPeripheral, options: nil) 中,我认为可能有一个选项可以在options 字典中指定以防止警报,但只有three 并且它们都没有做我想要的。
是否可以在不连接的情况下读取外围设备的 RSSI 和特性?或者是否可以在不向用户显示配对通知的情况下连接到外围设备?
谢谢。
更新:
我已使用 TSI 来解决此问题。他将我带到了一个名为 BTLE Transfer 的 Apple 示例项目。他说配对不应该发生,并且它不会发生在示例项目中。我构建了项目并运行了它,它确实呈现了与我的应用程序完全相同的对请求。我不知道其他人是否关心或也在为此苦苦挣扎,但我会用新信息更新我的问题,如果我找到解决方案,我会回答。
更新 #2:
我相信这是 iOS 8.4 中的一个错误。我已向 Apple 提交了一份错误报告,概述了该错误的详细信息。
【问题讨论】:
-
我遇到了完全相同的问题。几个月前它曾经工作得很好。然而现在你突然得到一个配对弹出窗口,当你选择“是”时,一切都会中断。选择“否”,你很好。不仅仅是 iOS,OSX El Capitan 也遇到了同样的问题。
-
是的!终于有人遇到了这个。不过,一个不同之处在于,无论您按下哪个按钮,我都不会损坏任何东西。当不涉及运行 iOS 8.4 的设备时,该错误不会发生。有趣的是它也发生在 OS X 上。
标签: ios swift bluetooth cbcentralmanager cbperipheral