Question

I'm trying to build an app that communicates with an external accessory (over bluetooth). To ensure the app is user-friendly I'd like him not to go to the settings to connect with the accessory but to show the Accessory picker that iOS 6.0 includes.

To achieve that, a simple call to :

[[EAAccessoryManager sharedAccessoryManager] showBluetoothAccessoryPickerWithNameFilter:nil completion:nil];

For now, I'm not using the filter and the completion (both can be nil according to the iOS Class Reference) - even if I tried using them too.

Now the problem is that my accessory appears for 2 to 10 seconds and then disappears from the list until I cancel the popup and show it again. Another problem is that sometimes it doesn't appear at all. I also made sure the device was already paired but not connected.

I tried using another accessory (one that I didn't make myself) and with different devices (iPhone 4, 4S, 5 - iPad - iPod Touch) with no success.

Does anyone has a similar issue? If yes how did you solve it? Is it an iOS bug? Is it an accessory bug?

Thanks for any reply.

Was it helpful?

Solution

I can confirm that iOS 7 BETA 4 has fixed this issue. If you are using the RN 42 APL bluetooth chip (which you must be as its the only one available on the MFI program)

The only thing you need to be aware of is that the firmware on the RN 42 module needs to be 5.36 and above (as it fully supports the iAP protocol)

I have updated my App (that talks to a custom build accessory) and the accessory picker dialog works a charm.... just thought I'd let you guys know!

OTHER TIPS

Just got the answer from Apple to these questions. Apple said that it's a bug and they are going to fix it with the future release of ios. Not sure when this will happen. But do not waste time for this as it's bug. until new fix, work around is pair the devices on the bluetooth setting screen and then use it in App.

I can confirm the bug is still present in iOS 6.1.3

We have designed a custom piece of hardware that uses the RN42 APL module (we are part of the MFI program). We have spoken to Roving Networks (now Microchip) and they have assured us the firmware on their module matches apples requirements... Microchip are still looking into the problem, but we are looking at the possibility that it is a bug with iOS 6.x

I will download iOS 7.0 and try it out... will report back guys

Cheers Will

I have had the exact same problem and have been unable to solve it for the past week. I'm using a Roving Networks RN-42-APL-X module, and I changed the Inquiry Scan Window and Page Scan Window of the module I was using to 100%, but still no luck.

showBluetootAccessoryPickerWithNameFilter will sometimes NOT find my device, and when it does, it loses the device anywhere between .5 seconds to 6 seconds after finding it...

2013-03-13 00:45:22.006 EADemo[356:907] BTM: found device "myDevice" 00:08:36:4B:A4:49

2013-03-13 00:45:22.631 EADemo[356:907] BTM: lost device "myDevice" 00:08:36:4B:A4:49

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top