我从堆栈溢出和整个互联网中获得的感觉是,除非我使用的是LE设备,否则我为iOS应用制作的任何蓝牙设备都必须经过MFi认证。
然而,在MFi FAQ页面上,我发现了这一行:
仅依靠标准技术(如蓝牙低能或标准蓝牙配置文件)的附件的...developers不需要加入MFi程序。
我的设备将能够使用标准蓝牙配置文件File Transfer Protocol (FTP)。
对我来说,这听起来像是一些自相矛盾的建议,或者我只是没有正确理解。因此,在提供了上述证据之后,我只想直接问:我是否可以编写和发布一个iOS应用程序,该应用程序使用标准的蓝牙配置文件FTP连接到专有蓝牙设备,而不证明我的设备是MFi?如果是的话,我需要知道哪些细节、注意事项等?
发布于 2012-08-14 16:40:24
这一行指的是ios设备(如HFP或A2DP )本地支持的标准配置文件。如果你建立一个耳机设备进行HFP,iphone将能够连接到它并将您的呼叫路由到耳机,而不需要耳机成为MFi的一部分。
如果你想写一个用蓝牙做其他事情的应用程序,包含FTP,你必须使用MFi。
发布于 2012-08-30 16:51:12
新的蓝牙4.0低能规范(以下简称BLE4.0)是在苹果最新的iOS设备中实现的,它允许创建特定于应用程序的配置文件并连接到BLE4.0设备,无需越狱、使用经批准的蓝牙2.1配置文件,或成为苹果MFI程序的一部分,并使用先前所需的MFI密码芯片。
换句话说,使用适当的BLE4.0兼容蓝牙收音机,您可以创建连接到iOS应用程序的无线设备,而无需苹果预先批准该设备。然而,你必须为设备编写一个自定义应用程序,如果苹果公司愿意的话,苹果仍然有能力拒绝该应用程序。所以他们仍然在很大程度上控制着这件事。这基本上是苹果对Android的回应,同时也没有完全放弃关闭他们不喜欢的应用程序和设备的能力。
您的应用程序必须为应用程序的蓝牙配置文件包含特定的XML,并使用CoreBluetoothFramework app,因此在应用程序审批过程中,应用程序连接到设备上是非常明显的。如果你的应用程序在没有设备的情况下不能工作,那么如果你不是MFI程序的一部分,它很可能会被拒绝,因为苹果不能在没有你的设备的情况下测试应用程序。似乎成功通过测试的应用程序使用该设备作为应用程序功能的附件,而不是一项要求。例如,一个锻炼应用程序可能连接到一个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的设备是有限的,目前只包括
可能还有其他苹果设备支持这一标准,这是苹果在每种产品的技术规格页面上公开宣传的东西,因此很容易找到现有产品。
https://stackoverflow.com/questions/11955278
复制相似问题