CoreBluetooth 和 BluetoothManager,设备不是 BLE

Posted

技术标签:

【中文标题】CoreBluetooth 和 BluetoothManager,设备不是 BLE【英文标题】:CoreBluetooth and BluetoothManager, device is not BLE 【发布时间】:2015-02-12 08:53:27 【问题描述】:

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

我们正在为客户开发一款应用。这是一个通过蓝牙连接的婴儿玩具,我们无法连接和传输数据。

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

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

您能否提供替代方案和/或示例来说明如何进行这种沟通?如果您做不到,请告诉我以便告诉我的客户。

【问题讨论】:

BluetoothManager?那是在android部分吗?如果您想要“经典蓝牙”,我强烈建议您查看 MFi 程序及其框架:ExternalAccessory。 【参考方案1】:

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

此答案描述了在 ios 上使用蓝牙的可能方式: https://***.com/a/16852224/4495995

【讨论】:

【参考方案2】:

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

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

由于能源效率的原因,作为普通开发人员,您似乎只能使用 BLE。如果要使用BR/EDR,需要申请MFi Program,并使用特殊硬件。

【讨论】:

以上是关于CoreBluetooth 和 BluetoothManager,设备不是 BLE的主要内容,如果未能解决你的问题,请参考以下文章

CoreBluetooth - TouchID应用

iOS Bluetooth 打印小票

iOS开发笔记--Core Bluetooth开发

有没有办法可以在 Swift 中使用 Core Bluetooth 更改另一部 iPhone 上的视图控制器?

为啥我没有通过 CoreBluetooth 获得配对设备的实例?

我可以使用 Core Bluetooth 打开在 Objective-c 中关闭的应​​用程序吗?