0

I am trying to build an iOS app which would communicate with another non-apple device via bluetooth. It would be a  Bluetooth Stereo Transmitter which uses the bluetooth A2DP-profile which is supported by apple :

http://support.apple.com/kb/HT3647?viewlocale=en_US&locale=en_US

I have read tons of articles and pages. I have many unanswered questions and hope to recieve some answers and write something that will help me and others in future work with iOS and bluetooth.

Evaluating the available bluetooth connection options

Here's a list with possible approaches and informations I found. Please feel free to answer/edit anything that is not correct. Edited from http://www.pocketmagic.net/2012/07/bluetooth-and-ios-use-bluetooth-in-your-iphone-apps/ :

A) Enroll in the made for iPhone/iPod/iPad (MFi) program. Details on costs are not available, but this is not for the small development companies, barely selling a few licenses.indicate costs depending on project, and starting numbers somewhere at 10K USD. Not really an option IMO, as the costs involved and trouble getting certified are ridiculously high, for something so basic and simple such as building a Bluetooth application. I have found a Bluetooth stereo transmitter with bluetooth version 2.1 (Class II). I can not find if the device is MFi compliant. Based on this article : Existing bluetooth device and Apple MFI

Q1: How can I be sure or find out if the device is Mfi compliant?

Q2: If the device is Mfi compliant will I be able to pair it with the device in the settings option?

B) CoreBluetooth framework, currently usable only with Low Energy Bluetooth 4 devices. Since these are not largely spread this is not really an option. You won't be able to connect to standard headsets, keyboards, or other non-Bluetooth 4 devices.

Q3: Will I need to pair the non-apple bluetooth device with my iPad (in settings) to use the CoreBluetooth framework?

I am asking beacuse I have no experience with iOS and bluetooth and beacuse my budget is low, so I dont want to waste money buying stuff I will not be able to use for development.

C) GameKit framework, this allows some basic Bluetooth functionality, such as finding nearby devices and establishing a serial communication link, but it only intended for use between iOS devices. So Android plus iPhone via GameKit is a no go.

D) Private APIs. There is a BluetoothManager framework, in the private APIs, inside the SDK. This can be used to achieve the proposed task, but you won't get your App approved on Appstore, as private API's is not allowed by Apple. Since this is so convenient, and working so nice, almost like the real thing Apple didn't want to include.

Q4: Can I use private APIs within the iOS Eneteprise program and distribute my apps since there is no App store approval process?

Q5: Does anyone know some more private APIs I could use beside bluetoothManager framework?

E)Jailbreaking and using Ringwald's BTStack. Jailbreaking = rooting = freedom, probably the best way to go . But this places you so far away from Apple's guidelines, and the Appstore itself. So better decide what your project is all about, and who your users will be.

Q6: For bluetooth I need CoreBluetooth Framework. What framework do I need to import if I want to use wifi communication?

Thanks for any help :).

Community
  • 1
  • 1
MB_iOSDeveloper
  • 4,178
  • 4
  • 24
  • 36

0 Answers0