24

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

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

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

我的设备将能够使用标准蓝牙配置文件文件传输协议 (FTP)

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

4

2 回答 2

28

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

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

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

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

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

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

特别是 BlueGiga 一直在推动他们的设备专门用于此用途,因此其他地方可能有论坛和支持。

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

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

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

于 2012-08-30T16:51:12.073 回答
15

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

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

于 2012-08-14T16:40:24.560 回答