Apple提供以下两个框架,用于与附近的iOS设备进行通信。
核心蓝牙框架提供iOS和Mac应用程序与配备蓝牙低功耗无线技术的设备进行通信所需的类。
外部附件框架支持通过Apple Lightning或30针连接器与基于iOS的设备连接的外部硬件进行通信,或通过无线方式使用蓝牙进行通信。
我以前使用CoreBluetooth框架成功与蓝牙设备通信。但是,我现在正在尝试与蓝牙打印机进行通信,并且它不会出现在附近设备的扫描中。使用ExternalAccessory框架,它确实。
就与蓝牙设备进行通信而言,这两个框架有何不同?为什么不同的蓝牙设备需要使用不同的框架?
答案 0 :(得分:5)
有两种蓝牙,蓝牙LE的带宽非常有限,但在设置应用和蓝牙经典中不需要任何用户配对,这需要用户配对设备,但为您提供更多功能和带宽。 CoreBluetooth支持蓝牙LE,您可以将其与开发者帐户一起使用。 Bluetooth Classic要求您加入Apple MFi计划。
答案 1 :(得分:4)
核心蓝牙仅允许您使用GATT配置文件与蓝牙低功耗设备进行通信。
外部附件框架允许使用诸如串行端口协议(SPP)之类的配置文件与“传统”蓝牙设备进行通信。为了使用外部附件框架与设备通信,设备必须通过MFi程序进行认证。
我还认为,为了获得可以使用经批准的外部附件框架与MFi设备通信的应用程序,MFi许可证持有者(即打印机供应商)需要提供一些文件来授权您的应用程序。