IPhone – How to disable Bluetooth A2DP profiles on the iPhone 4

bluetoothiphonejailbreak

Simple question: I'd like to disable the A2DP profile for either (a) specific devices paired with the iPhone or (b) the profile entirely from the phone. How can I disabled the A2DP profiles? There used to be a program called Bluetooth Profile Selector for jailbroken iPhones. However, it stopped working after 4.3.1.

Here's the detailed scenario on why:
I have a stereo in my car that accepts a USB connector. This is how my iPhone is connected and plays music through. This way the audio quality is pristine, I can see the track information and control my iPhone from the headunit, and it charges my iPhone.

The headunit also pairs via Bluetooth for hands-free calling. However, because the iPhone supports A2DP, this is how it pairs to the headunit. I can do hands-free calling just fine, however it screws up the audio coming from the dock connector. Basically, the iPhone will begin playing music via the dock connector until it auto-pairs with the headunit. At this point, the iPhone automatically changes the output method to the Bluetooth connection. Manually changing this back over to the dock connector every single time is not something I wish to deal with.

Best Answer

The app you are referring to has a manual process you can try, but it is not for the faint of heart: http://blog.ramondeklein.nl/?p=257

Howto disable A2DP on the iPhone

The interesting directory is /var/mobile/Library/Preferences, where the iPhone stores the BlueTooth settings. These settings are stored in the PLIST format, so you need a PLIST editor (Mac or PC) or you need to convert them by hand. Transfer the com.apple.MobileBluetooth.services.plist to your computer or you can use iFile to edit the file on your iPhone directly.

Open the com.apple.MobileBluetooth.services.plist in your PLIST editor and make sure you edit the A2DPService section and store the devices you don’t want to use A2DP in the UnauthorizeList (without the letter “d”). This dictionary will probably not exist yet, so you need to add it by hand. You need to know the MAC address, but it is probably listed already in this file.

<key>A2DPService</key>
<dict>
  <key>State</key>
  <true/>
  <key>UnauthorizeList</key>
  <dict>
    <key>00:10:60:D0:91:D0</key>        <!-- This is the MAC address -->
    <date>2009-08-08T01:00:00Z</date>   <!-- Timestamp -->
  </dict>
</dict>

Transfer the PLIST file back to your iPhone and reboot the device. Once it gets back on, then the A2DP service should be disabled.