Manual detection and connection to barcode scanner (Zebra DS3678) API in iOS SDK


I have inherited an internal Objective C iOS mobile app within my organization that currently uses the Zebra iOS SDK to automatically detect 'available' and 'active' near-by bluetooth barcode scanners.

I'm fairly new to the Zebra iOS SDK, but my understanding is that it (ISbtSdkApi) passes a list of available scanners it detects/finds to your ISbtSdkApiDelegate conforming object as long as you send a sbtEnableAvailableScannersDetection message to the ISbtSdkApi SDK object with the parameter 'YES'.

I'm trying to implement a new version of our internal app that allows a user to manually connect to a specific scanner, and does not automatically detect and allow other nearby scanners to be found and connected to. The issue I have is that in 'automatic detection' mode, other nearby scanners are being discovered, and somehow, the Zebra SDK is presenting an option to pair with other nearby scanners via a modal dialog (I'm guessing this is actually presented by Core Bluetooth). 

Firstly, is there a simple way to keep automatic detection enabled (via sbtEnableAvailableScannersDetection:YES) but control when the user is presented with bluetooth pairing requests for other nearby 'available' barcode scanners through the API?

Secondly, if the above isn't possible, I see that it is possible to initiate a completely manual detection flow by both:

  • setting sbtEnableAvailableScannersDetection:NO
  • sending the SDK object (ISbtSdkApi) the sbtGetAvailableScannersList message to get available scanners.

The confusion I have is in the documentation, it states that this call doesn't update the ISbtSdkApiDelegate object of the new scanners the same way the automatic detection method does.  It seems like I need to call a different set of APIs, but I'm not sure exactly what the workflow here is.  Can someone walk me through the API workflow for manually detection and connection?

Edem Attiogbe
Can anyone from Zebra chime

Can anyone from Zebra chime in on this?  As I deploy multiple iOS devices with paired DS3678 barcode scanners to my various locations, I need to make sure that user's aren't confused with random pairing requests from other barcode scanners when their default one isn't initially found.  I need to be able to control when a pairing request modal dialog box pops up

Vote up!
Vote down!

Points: 0

You voted ‘up’

Log in to post comments