首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >核心蓝牙和IOBluetooth有什么区别?

核心蓝牙和IOBluetooth有什么区别?
EN

Stack Overflow用户
提问于 2021-08-15 17:21:05
回答 1查看 331关注 0票数 2

这个问题已经在Stack Overflow in 2013上问过了,但是还需要更新。macOS的核心蓝牙功能被改变,使其更符合自macOS 10.13以来的iOS。

这个问题的答案是

CoreBluetooth是一个用于蓝牙LE通信的iOS框架。IOBluetooth是一个OS框架

这不再是真的了,核心蓝牙并不完全是一个iOS框架,尽管IOBluetooth是macOS专有的

CoreBluetooth用于访问蓝牙低能API。IOBluetooth是用于蓝牙经典接口的

这也不是真实的,因为核心蓝牙并不是专为BLE。

CoreBluetooth文档声明:

与蓝牙低能和BR/EDR (“经典”)设备通信。

这似乎是直截了当的;核心蓝牙是用于蓝牙通信,包括BLE和经典。

IOBluetooth文档声明:

获得对蓝牙设备的用户空间访问。

但这并不特别有启发性。

在CoreBluetooth on macOS 10.13+的时代,IOBluetooth和CoreBluetooth在macOS上的主要现代用例是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-15 17:58:40

CoreBluetooth在BR/EDR和L2CAP上支持BLE、GATT。尽管它是总结,但它不支持大多数经典的配置文件。特别是它只支持BR/EDR上的GATT。它不支持其他协议。(关贸总协定对BR/EDR在我的经验中是非常罕见的。我从未遇到过真正支持它的设备。)它不支持SDP,也不能用于发现大多数经典设备。

IOBluetooth支持各种经典协议,包括SDP、RFCOMM和L2CAP。它支持像音频和HCI设备这样的东西。据我所知,它并不直接支持BLE;它嵌入了CoreBluetooth。(我相信它可以对BLE做一些非常低级的发现,但这不是你想要使用的。)

我不认为这种情况在10.13就发生了根本的变化。最重要的改变(我认为主要是为了支持催化剂)是核心蓝牙在平台之间变得更加统一。我不认为这从根本上改变了框架的用途。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68793810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档