CoreBluetooth 和 BluetoothManager,设备不是 BLE

CoreBluetooth and BluetoothManager, device is not BLE

通过蓝牙连接并接收数据。

我们正在为客户开发应用程序。这是一个通过蓝牙连接的婴儿玩具,我们在连接和传输数据时遇到问题。

经过我们所做的所有研究,我们找到了两个备选方案:CoreBluetooth 和 BluetoothManager。据我所知,CoreBluetooth 仅与低功耗蓝牙连接(我认为它是最新的蓝牙版本)并且我无法找到我客户的设备。使用第二个选项,BluetoothManager 我可以找到设备但我无法传输数据。

这让我觉得我的客户端设备不是 BLE。考虑到 CoreBluetooth 无法找到该设备而只有 BluetoothManager 可以找到该设备,有什么方法可以与该设备连接和传输数据吗?

能否请您提供替代方法 and/or 如何进行此通信的示例?如果你做不到,请告诉我,以便告诉我的客户。

要与低版本的蓝牙通信,您需要使用 ExternalAccessory 框架,但它是针对 MFi 设备的,所以我想您需要注册 Apple MFi Program:https://developer.apple.com/programs/mfi/

此答案描述了在 iOS 上使用蓝牙的可能方式:

CoreBluetooth 仅用于连接配备低功耗蓝牙的设备。虽然它确实与其同名共享一些概念,但它是一种完全不同的技术。所以从蓝牙 4.0 开始,我们有:

  1. 低能耗(或智能)- 更慢、更简单、更节能
  2. 基本速率/扩展数据速率(或经典、高速、智能就绪)- 更旧、更复杂、更快、能效更低

似乎因为能源效率,作为普通开发者,您只能使用 BLE。如果要使用BR/EDR需要申请MFi Program,使用专用硬件。