1

I am developing an iOS bluetooth app that needs to pair with a peripheral device.

What frame work do I need to use to interact with a device that has support for the following protocols/profiles:

A2DP HFP HSP

Are either of these possible with an iOS device without being a member of the the MFI program?

How do I support these profiles: https://support.apple.com/kb/HT3647

Do I do that using corebluetooth?

stackOverFlew
  • 1,479
  • 2
  • 31
  • 58
  • All bluetooth peripheral support goes through the CoreBluetooth framework (that's as much as I know) – borrrden Aug 06 '13 at 04:02
  • oh ok. thats the only framework that exposes any bluetooth apis right? – stackOverFlew Aug 06 '13 at 04:16
  • Yes, that's correct so if you can't do it there then you can't do it at all without jailbreaking. – borrrden Aug 06 '13 at 04:17
  • sorry to bother again, but from some reading it seems that that is not the only way. Audio input can be routed to bluetooth. So can the audio output? http://stackoverflow.com/questions/2375837/how-to-route-iphone-audio-to-the-bluetooth-headset Others state that this is not possible: http://stackoverflow.com/questions/8305986/audiosession-input-from-bluetooth-output-to-line-out-or-speaker http://stackoverflow.com/questions/14082182/sending-audio-to-a-bluetooth-enabled-speaker-ios Docs: https://developer.apple.com/library/ios/#documentation/Audio/Conceptual/AudioSessionProgrammin – stackOverFlew Aug 06 '13 at 07:21
  • While others state that the docs are wrong. Agh?! – stackOverFlew Aug 06 '13 at 07:22
  • 1
    Bluetooth headset is the one exception, but you can only select to route audio there. If you need more low level interaction then you have to use CoreBluetooth. Basically if you are even using the words "profile" and "protocol" then you need to use CoreBluetooth. – borrrden Aug 06 '13 at 08:01

2 Answers2

1

These are standard profiles that are supported inherently by iOS. You don't need to add any software to make the phone work with these. At the same time apps running on the phone will have limited access to what device they can use or are using but for example the audio routing can be obtained.

All in all, as long as the device implements the profiles correctly, any application will be able to use it, not just yours.

Community
  • 1
  • 1
allprog
  • 16,540
  • 9
  • 56
  • 97
1

There are two completely different methods of doing Bluetooth communications. One is with the classic Bluetooth profiles and the latest is using BLE (Bluetooth Low Energy).

Classic Bluetooth can be used with the ExternalAccessory framework and GameKit framework.

BLE uses CoreBluetooth.

The classic profiles supported are listed here:

http://support.apple.com/kb/HT3647

Cliff Harris
  • 754
  • 2
  • 7
  • 9