ios9 和 ios8 之间的意外蓝牙配对提示
Unexpected bluetooth pair prompt between ios9 and ios8
我正在构建一个 iOS 应用程序,它使用 Core Bluetooth (BLE) 并同时充当 外围设备(在后台)和 central 在前台时,可以与附近的其他人运行 同一个应用进行交流。
我注意到,当应用程序处于 iOS9(特别是)和 运行 处于 中央模式时在前台扫描外设时,会自动提示与附近的设备配对!
蓝牙配对请求
"iPhone" 想与您的
配对
iPhone。确认代码
"iPhone".
上显示“701958”
[取消] [配对]
示例:http://i.stack.imgur.com/D6sgg.png
尽管我没有在任何地方的外围设备的特征设置中使用加密,但还是会发生这种情况!这是一个简单的特性,属性 值设置为“CBCharacteristicPropertyRead”,权限设置为“CBAAttributePermissionsReadable”。另请注意,特征设置为 静态值 ,而不是动态值,它意味着无需订阅通知即可直接读取。
外设(特性设置):
CBMutableCharacteristic *characteristic = [[CBMutableCharacteristic alloc]
initWithType:[CBUUID UUIDWithString:uuidStr]
properties:CBCharacteristicPropertyRead
value:myData
permissions:CBAttributePermissionsReadable];
中央(尝试连接):
[self.centralManager connectPeripheral:peripheral options:nil];
提示似乎是在我的 iOS9 中心向发现的 iOS8 外围设备发起连接请求时启动的。
还有其他人 运行 参与其中吗?同一段代码在 iOS8<->8、iOS7<->7、iOS8<->7 甚至 iOS 之间运行良好9<->9(至少在我自己的测试中观察到如此)。
任何建议都会很有帮助!
收到苹果官方回复:
This has been determined to be caused by a bug in iOS 8. Your best
course of action would be to upgrade to iOS 9 on the effected devices,
and urge your users to do the same to avoid the issue.
好了。 iOS 中的已知问题 8. 移至 iOS 9. :/
我正在构建一个 iOS 应用程序,它使用 Core Bluetooth (BLE) 并同时充当 外围设备(在后台)和 central 在前台时,可以与附近的其他人运行 同一个应用进行交流。
我注意到,当应用程序处于 iOS9(特别是)和 运行 处于 中央模式时在前台扫描外设时,会自动提示与附近的设备配对!
蓝牙配对请求
"iPhone" 想与您的
配对
iPhone。确认代码
"iPhone".
[取消] [配对]
示例:http://i.stack.imgur.com/D6sgg.png
尽管我没有在任何地方的外围设备的特征设置中使用加密,但还是会发生这种情况!这是一个简单的特性,属性 值设置为“CBCharacteristicPropertyRead”,权限设置为“CBAAttributePermissionsReadable”。另请注意,特征设置为 静态值 ,而不是动态值,它意味着无需订阅通知即可直接读取。
外设(特性设置):
CBMutableCharacteristic *characteristic = [[CBMutableCharacteristic alloc]
initWithType:[CBUUID UUIDWithString:uuidStr]
properties:CBCharacteristicPropertyRead
value:myData
permissions:CBAttributePermissionsReadable];
中央(尝试连接):
[self.centralManager connectPeripheral:peripheral options:nil];
提示似乎是在我的 iOS9 中心向发现的 iOS8 外围设备发起连接请求时启动的。
还有其他人 运行 参与其中吗?同一段代码在 iOS8<->8、iOS7<->7、iOS8<->7 甚至 iOS 之间运行良好9<->9(至少在我自己的测试中观察到如此)。
任何建议都会很有帮助!
收到苹果官方回复:
This has been determined to be caused by a bug in iOS 8. Your best course of action would be to upgrade to iOS 9 on the effected devices, and urge your users to do the same to avoid the issue.
好了。 iOS 中的已知问题 8. 移至 iOS 9. :/