【问题标题】:What's the difference between the CoreBluetooth and ExternalAccessory frameworks?CoreBluetooth 和 ExternalAccessory 框架有什么区别?
【发布时间】:2017-04-26 20:02:23
【问题描述】:

Apple 提供了以下两个框架,用于通过 iOS 与附近的蓝牙设备进行通信。

CoreBluetooth:

Core Bluetooth 框架为您的 iOS 和 Mac 应用提供所需的类,以便与配备蓝牙低功耗无线技术的设备进行通信。

ExternalAccessory:

External Accessory 框架支持通过 Apple Lightning 或 30 针连接器与连接到基于 iOS 的设备的外部硬件进行通信,或使用蓝牙进行无线通信。

我之前使用过 CoreBluetooth 框架成功与蓝牙设备通信。但是,我现在正在尝试与蓝牙打印机通信,但它没有出现在附近设备的扫描中。使用 ExternalAccessory 框架,确实如此。

就与蓝牙设备的通信而言,这两个框架有何不同?为什么不同的蓝牙设备需要使用不同的框架?

【问题讨论】:

    标签: ios bluetooth core-bluetooth external-accessory


    【解决方案1】:

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

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

    我还认为,为了让应用程序能够使用获得批准的外部附件框架与 MFi 设备进行通信,MFi 被许可人(即打印机供应商)需要提供一些文件来授权您的应用程序。

    【讨论】:

      【解决方案2】:

      有两种蓝牙,一种是蓝牙 LE,带宽非常有限,但不需要用户在设置应用程序中进行任何配对;另一种是经典蓝牙,需要用户配对设备,但为您提供更多功能和带宽. CoreBluetooth 支持蓝牙 LE,您可以通过开发者帐户使用它。经典蓝牙要求您加入 Apple MFi 计划。

      【讨论】:

      • 我想我明白了。所以经典的蓝牙设备不会显示在 CoreBluetooth 的扫描中,即使在通过设置与它们配对之后?加入 MFi 计划是所有与经典蓝牙设备通信的应用程序的法律要求,还是仅当您想看起来“真实”并发布到应用程序商店时?
      • 如果您不打算发布您的应用,那么您可以使用外部附件框架连接到设备。
      • 对于外部附件:如果我不想在应用商店上发布它,info.plist 中的协议密钥是否也需要?
      猜你喜欢
      • 1970-01-01
      • 2019-06-05
      • 2022-10-13
      • 2010-10-17
      • 2011-04-15
      • 2014-07-13
      • 1970-01-01
      • 2013-01-11
      • 2014-06-12
      相关资源
      最近更新 更多