蓝牙 4.0 低功耗和 iOS:如何检测设备是否可绑定?

Bluetooth 4.0 Low Energy and iOS: How do I detect if device is bondable or not?

是否可以使用 corebluetooth 框架来检测外设是否可绑定?

我是否应该实施未能连接到委托?

目前没有任何内容。对于更高版本的 BLE,绑定信息(GAP 模式)位于 GAP 配置文件中,但您无法通过 CoreBluetooth 使用该信息的任何一位。除部分广告数据和有限的扫描响应数据外,仅提供GATT及以下信息。

您可以读取任何所需的特征属性以查看它是否需要加密 (CBCharacteristicPropertyNotifyEncryptionRequired),这意味着您需要有一个受信任的连接(配对)才能访问它。这与您现在要达到的一样接近。

首次连接时不应提示您配对,因此 didFailToConnectPeripheral 在这里无济于事。只有在您尝试读取其中一个加密特征后,系统才会提示您进行配对。因此,如果您先检查特性的属性,您仍然应该在提示用户之前知道。

这来自 Apple Bluetooth Accessory Design Guidelines

The accessory should not request pairing until an ATT request is rejected using the Insufficient Authentication error code. See the Bluetooth 4.0 specification, Volume 3, Part F, Section 4 for details.

If, for security reasons,the accessory requires a bonded relationship with the Central,the Peripheral should reject the ATT request using the Insufficient Authentication error code, as appropriate. As a result, the Apple product may proceed with the necessary security procedures.