Is it possible to know if an iPhone is paired with the hands free system in a car using the CoreBluetooth or the EAAccessoryManager? If not, is there another way to do it?
Asked
Active
Viewed 966 times
0
-
BLE isn't. Suited for Audio. So it shouldn't be the media used for a hands free set. – Larme Nov 28 '14 at 17:40
-
Handsfree devices are visible routes in an AVAudioSession – Paulw11 Nov 28 '14 at 21:11
-
I have same problem – Yogendra Girase May 05 '17 at 09:02
1 Answers
0
If the iPhone considers the car an accessory you can get the connected accessories by calling:
[[EAAccessoryManager sharedAccessoryManager] connectedAccessories];
This will return an array of EAAccessory
objects which you can then query to get certain information like the name: accessory.name
.
I don't know for certain of this will work with cars having never tried it myself (I have used it with other accessories), so I would suggest that you create a test app that logs the connected accessories to the screen on demand and test it yourself.
Here's the documentation for EAAccessoryManager and EAAccessory.

Rob Sanders
- 5,197
- 3
- 31
- 58
-
Thanks for your answer. I already tested that and the car don't appear in the connected accessories. I think the EAAccessoryManager only shows accessories under the MFI program. Is there any way to detect accessories that don´t follow the MFI program? – user3849954 Nov 28 '14 at 17:00
-
As far as I'm aware the only objective-c frameworks for bluetooth are CoreBluetooth and ExternalAccessory. That's not to say there isn't a third party one that will work with non MFI accessories. Other than that you could take a look at the IOKit or some C libraries. You have to be careful as some of these frameworks are private and your app will be rejected by apple if you link them in your project. – Rob Sanders Nov 28 '14 at 17:41
-