2010-01-12 174 views
2

我见过一些关于通过蓝牙将设备连接到iPhone的冲突信息。基本上,我创建了一个iPhone应用程序,该应用程序应该与我用蓝牙芯片构建的硬件设备进行通信。如何通过蓝牙将蓝牙配件连接至iPhone?

我见过ExternalAccessory.framework是做到这一点的方式,但我需要参加苹果的“为iPod制造”项目,以出售我的硬件?

我也听说过,关于iPod/iPhone的蓝牙技术是残废由于某种原因 - 这意味着我不能使用蓝牙将数据传输到我的硬件设备。有没有道理呢?

任何帮助表示赞赏。

+0

这是这个问题的重复:http://stackoverflow.com/questions/1065459/how-can-an-iphone-access-another-non-iphone-device-over-wireless-or-bluetooth – 2010-01-12 14:17:38

回答

2

注意,这个答案只对iOS 4的以下正确的。现在我们有CoreBluetooth可能有助于这种情况。详情请查询https://developer.apple.com/bluetooth/


不,你不能直接与蓝牙芯片进行通信。它需要IOKit。

但是,您可以通过蓝牙通过GameKit发送文件到另一个iPod/iPhone。

+0

so我是否必须参加Made for iPod?我的猜测是因为以下链接的是,: http://developer.apple.com/iphone/program/sdk/accessories.html “为iPhone和iPod touch应用程序可通过配件底座连接器现在通信或通过蓝牙无线传输。“ 我可以使用IOKit来参与“Made for iPhone”吗? – 2010-01-12 05:55:17

+1

如果你使用GameKit,没有。另外,你不能在AppStore应用中使用IOKit。 – kennytm 2010-01-12 06:05:22

0

今天(2015年),我会建议使用蓝牙低功耗(BLE)和CoreBluetooth API。这并不要求您加入Made for iPhone(MFi)。从苹果最近的蓝牙增加中可以清楚地看出,它们主要集中在蓝牙低功耗(4.0),而蓝牙BR/EDR(2.1)则更少。他们一直在对CoreBluetooth进行全面改进,CoreBluetooth是一系列新的系统服务(ANCS,AMS,MIDI over GATT),他们最近接受了BT 4.2规范。

如果您想让设备与您的iOS应用程序进行通信,并且无论出于何种原因,您必须使用BR/EDR(2.1),那么您需要EAAccessory,因此您需要注册到MFi。

如果你可以使用BLE,我会避免MFI和让与它使用CoreBluetooth您的应用程序进行通信。