我从Stackoverflow和整个互联网获得的氛围是,除非我使用LE设备,否则我为iOS应用程序制作的任何蓝牙设备都必须通过MFi认证。
但是,在MFi FAQ页面上,我找到了这一行:
......仅依靠标准技术的配件开发商 (例如,蓝牙低功耗或标准蓝牙配置文件)不 需要加入MFi计划。
我的设备可以使用标准蓝牙配置文件File Transfer Protocol (FTP)。
现在这听起来像是对我的一些相互矛盾的建议,或者我可能只是没有正确理解。因此,在提供了上述证据后,我将直接提出问题:我是否可以使用标准蓝牙配置文件FTP编写和发布连接到专有蓝牙设备的iOS应用程序,而无需将我的设备认证为MFi?如果是这样,我需要了解哪些细节,警告等?
答案 0 :(得分:26)
在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的设备是有限的,目前仅包含
可能还有其他Apple设备支持此标准,这是Apple在每个产品的技术规格页面上公开宣传的内容,因此很容易找到当前的产品。
答案 1 :(得分:14)
该行指的是ios设备本身支持的标准配置文件,例如HFP或A2DP。如果您构建了一个支持HFP的耳机设备,iphone将能够连接到它并将您的呼叫路由到耳机而耳机不属于MFi。
如果你想编写一个用蓝牙做其他事情的应用程序,包括FTP,你必须使用MFi。