2016-12-12 82 views
6

Apple提供以下两种框架用于与iOS附近的蓝牙设备进行通信。CoreBluetooth和ExternalAccessory框架有什么区别?

CoreBluetooth:

核心蓝牙框架提供需要为您的iOS和Mac应用程序与配备了蓝牙低功耗无线技术的设备通信的类。

ExternalAccessory:

外部附件框架提供用于与通过任一苹果闪电或30针连接器,或无线地使用蓝牙连接至基于IOS的设备外部硬件进行通信的支持。

我以前使用CoreBluetooth框架成功地与蓝牙设备进行通信。但是,我正在尝试与蓝牙打印机进行通信,并且在扫描附近的设备时不显示它。使用ExternalAccessory框架,它可以。

这两个框架在与蓝牙设备通信方面有什么不同?为什么不同的蓝牙设备需要使用不同的框架?

回答

1

有两种蓝牙,蓝牙LE,它的带宽非常有限,但不需要在设置应用程序和Bluetooth Classic中进行任何用户配对,这需要用户配对设备,但为您提供更多功能和带宽。 CoreBluetooth支持蓝牙LE,您可以将其与开发者帐户配合使用。 Bluetooth Classic要求您加入Apple MFi程序。

+0

我想我明白了。因此,即使在通过设置与它们配对之后,经典的蓝牙设备也不会在CoreBluetooth的扫描中显示出来?并且加入MFi计划是所有与经典蓝牙设备通信的应用程序的合法要求,或者只有当您想要看起来“真实”并发布到应用程序商店? – Extragorey

+0

如果您不打算发布您的应用程序,那么您可以使用外部附件框架连接到设备。 – Paulw11

2

核心蓝牙只允许您使用GATT配置文件与蓝牙低功耗设备进行通信。

外部附件框架允许使用诸如串行端口协议(SPP)之类的配置文件与'传统'蓝牙设备进行通信。为了与使用外部附件框架的设备进行通信,设备必须通过MFi程序进行认证。

我也相信,为了获得一个应用程序,可以使用经批准的外部附件框架与MFi设备进行通信,MFi许可证持有者(即打印机供应商)需要提供一些文件以授权您的应用程序。

相关问题