My objective is simple: Read the data from a barcode scanner.
I know that there's an option for scanning the barcode using camera, but in my experience the results are not very accurate in less than ideal situation i.e. bad lighting. So, I'm exploring if an external device can be easily connected with the iPhone/iPad and which can provide the barcode data just like an external keyboard.
So, can I read the barcode, which is scanned using an external device? If so, can I do it without writing any code, or will I have to specifically add some kind of support in my application?
Any iOS compatible Bluetooth scanner that supports HID mode. For instance, any Socket CHS. Once connected, it will behave exactly as you said "just like an external keyboard".
HID: Using any scanner as a keyboard, you are limited to inputting scanned data into open input fields where the user can modify the scanned data and there are limited options for post-processing and validation.
Because the scanner appears to iOS as a keyboard, iOS hides the onscreen keyboard - which makes sense... if the scanner were an actual keyboard. Some scanners (incl. Socket CHS 7Ci & 7Xi) provide a mechanism to force the keyboard (On our CHS double-click the power button) or the app can force the keyboard (see: related stackoverflow questions)
SDK: Developing an app using the SDK provides a more robust setup and handles more complex use cases: Scan into the application even if an input field is not active, enforce a particular scan order (Scan a UPC followed by a VIN number, not vice versa), or parse the scanned data (Breaking a timedate stamp into year, month, day, time).
Conclusion: Personally, I'd use HID mode as a quick and dirty way to get started, but would switch to the SDK for the final product. Obviously, it depends on how much control you need/want.
Disclaimer: I work for Socket Mobile
You can download the demo from the link
http://www.datecs.bg/en/products/Linea-Pro-iPhone-SDK/8/102
Just run LineaDemo after unzip it. It's scanning using Linea Pro Scanner[External device]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With