从 iOS 连接到蓝牙设备,没有 MFi

Posted

技术标签:

【中文标题】从 iOS 连接到蓝牙设备,没有 MFi【英文标题】:Connecting to a Bluetooth device from iOS, no MFi 【发布时间】:2012-08-14 15:04:27 【问题描述】:

我从 *** 和整个互联网获得的氛围是,除非我使用的是 LE 设备,否则我为 ios 应用程序制作的任何蓝牙设备都必须经过 MFi 认证。

但是,在MFi FAQ 页面上,我发现了这一行:

...完全依赖标准技术的配件开发商 (例如,低功耗蓝牙或标准蓝牙配置文件)不 需要加入 MFi 计划。

我的设备将能够使用标准蓝牙配置文件File Transfer Protocol (FTP)。

现在这对我来说听起来像是一些相互矛盾的建议,或者我可能只是没有正确理解。因此,在提供了上述证据后,我只想直接问:我是否可以编写和发布一个 iOS 应用程序,使用标准蓝牙配置文件 FTP 连接到专有蓝牙设备,而无需将我的设备认证为 MFi?如果是这样,我需要知道哪些细节、注意事项等?

【问题讨论】:

好像大家都说需要MFi。我希望有人能帮我弄清楚常见问题解答中的这一行是什么意思。 FTP 是标准的 BT 配置文件,但 iOS 不支持。结果,它必须通过MFi。 【参考方案1】:

在 Apple 最新的 iOS 设备中实施的新蓝牙 4.0 低功耗(以下简称 BLE 4.0)规范确实允许创建应用特定配置文件并连接到 BLE 4.0 设备而无需越狱、使用批准的蓝牙 2.1 配置文件或成为Apple 的 MFI 程序的一部分,并使用以前需要的 MFI 加密芯片。

换句话说,使用适当的 BLE 4.0 兼容蓝牙无线电,您可以创建连接到 iOS 应用程序的无线设备,而无需 Apple 预先批准该设备。但是,您必须为设备编写自定义应用程序,Apple 仍然有权拒绝该应用程序(如果他们愿意)。所以他们仍然在很大程度上控制了这一点。这本质上是 Apple 对 android ADK 的回应,同时并未完全放弃关闭他们不喜欢的应用和设备的能力。

您的应用必须为您的应用的蓝牙配置文件包含特定的 XML 架构,并使用 CoreBluetoothFramework API,因此在应用批准过程中,Apple 很明显您的应用连接到了设备。如果您的应用在没有设备的情况下无法运行,那么如果您不是 MFI 计划的一部分,那么它可能会被拒绝,因为 Apple 无法在没有您的设备的情况下测试该应用。似乎成功通过此测试的应用程序将设备用作应用程序功能的附件,而不是要求。例如,一个锻炼应用程序可能会连接到 BLE 4.0 heart rate monitor,但该应用程序并不依赖它。

某些应用似乎通过在没有设备时显示模拟或在线信息来代替设备信息来解决此问题。因此,应用程序可以在没有设备的情况下进行测试,并且在设备存在时可以正常工作。

您可以在网上找到一些成功的努力:

http://blog.makezine.com/2012/03/19/bluetooth-4-0-from-arduino-to-iphone-no-jailbreaking-no-mfi/

BlueGiga 一直在推动他们的devices specifically for this use,因此其他地方可能有论坛和支持。

请记住,目前支持 BLE 4.0 的设备是有限的,目前仅包括

iPhone 4S 和更新的 iPhone 最近的 MacBook Air、Mac Mini iPad(第 3 代及更新机型,以及 iPad mini) Macbook Pro 视网膜显示屏

可能还有其他支持此标准的 Apple 设备,这是 Apple 在每个产品的技术规格页面上公开宣传的内容,因此很容易找到当前产品。

【讨论】:

对您的应用程序更具体的是没有 iOS 设备支持蓝牙 2.1 FTP 配置文件。即使您加入了 MFI 计划,我也不相信您可以在任何 iOS 设备上启用该配置文件。您将需要使用现有支持的蓝牙 2.1 配置文件之一,或使用 BLE 4.0 并编写自己的配置文件。 此答案是否需要编辑以包含较新的 iOS 设备? ;-) 具体一点,如果支持USB接口,可以使用Bluegiga Technologies Bluetooth Low Energy Modules & USB Dongle连接非ios设备,然后使用支持BLE 4.0的ios设备连接。 BLE 然而,应该是低带宽的东西,而不是持续通信,这与 FTP 配置文件相比并不合适。【参考方案2】:

该行指的是 ios 设备本机支持的标准配置文件,例如 HFP 或 A2DP。如果您构建了一个支持 HFP 的耳机设​​备,则 iphone 将能够连接到它并将您的呼叫路由到耳机,而耳机不属于 MFi 的一部分。

如果你想写一个用蓝牙做其他事情的应用程序,包括 FTP,你就必须使用 MFi。

【讨论】:

没有 MFi 要求的情况下支持哪些配置文件?该设备的实施很灵活。 感谢您的帮助。我能够找到支持的配置文件:support.apple.com/kb/HT3647

以上是关于从 iOS 连接到蓝牙设备,没有 MFi的主要内容,如果未能解决你的问题,请参考以下文章

现有蓝牙设备和 Apple MFI

如何将 iPhone 连接到蓝牙设备?

蓝牙连接到非 iOS 接收器

蓝牙 穿戴手环通信原理

将 iOS 应用重新连接到配对的蓝牙设备?

是否可以使用 CBPeripheral 通过蓝牙从 iOS 连接到 macOS