我看到一些有关通过蓝牙将设备连接到iPhone的相互矛盾的信息。基本上,我已经创建了一个iPhone应用程序,它应该与我用蓝牙芯片构建的硬件设备进行通信。
我见过ExternalAccessory.framework就是这样做的,但是我是否需要参加Apple的“Made for iPod”程序来销售我的硬件?
我还听说iPod / iPhone上的蓝牙因某种原因而瘫痪 - 这意味着我无法使用蓝牙将数据传输到我的硬件设备。这有什么道理吗?
感谢任何帮助。
答案 0 :(得分:2)
请注意,此答案仅适用于iOS 4或更低版本。现在我们有CoreBluetooth可能有助于这种情况。查看https://developer.apple.com/bluetooth/了解详细信息。
不,你不能直接与蓝牙芯片通信。它需要IOKit。
然而,您可以通过蓝牙将文件通过GameKit发送到另一台iPod / iPhone。
答案 1 :(得分:0)
今天(2015)我建议使用蓝牙低功耗(BLE)和CoreBluetooth API。这不需要您注册Made for iPhone(MFi)。从Apple最近的蓝牙增加中可以看出,它们主要集中在蓝牙低功耗(4.0)上,而不是蓝牙BR / EDR(2.1)。他们一直在稳步增加CoreBluetooth的一般改进,一系列新的系统服务(ANCS,AMS,MIDI over GATT),他们最近接受了BT 4.2规范。
如果您想让设备与您的iOS应用进行通信,并且由于某种原因您必须使用BR / EDR(2.1),您将需要EAAccessory,因此您需要需要加入MFi。
如果您可以使用BLE,我会避免使用CoreBluetooth让您的应用与其进行通信。