我的目标很简单:从条形码扫描仪读取数据。
我知道有一个使用相机扫描条形码的选项,但根据我的经验,在不太理想的情况下,即光线不好的情况下,结果并不是很准确。因此,我正在探索外部设备是否可以轻松地与 iPhone/iPad 连接,并且可以像外部键盘一样提供条形码数据。
那么,我可以读取使用外部设备扫描的条形码吗?如果是这样,我可以在不编写任何代码的情况下做到这一点,还是我必须在我的应用程序中专门添加某种支持?
我的目标很简单:从条形码扫描仪读取数据。
我知道有一个使用相机扫描条形码的选项,但根据我的经验,在不太理想的情况下,即光线不好的情况下,结果并不是很准确。因此,我正在探索外部设备是否可以轻松地与 iPhone/iPad 连接,并且可以像外部键盘一样提供条形码数据。
那么,我可以读取使用外部设备扫描的条形码吗?如果是这样,我可以在不编写任何代码的情况下做到这一点,还是我必须在我的应用程序中专门添加某种支持?
任何支持 HID 模式的 iOS 兼容蓝牙扫描仪。例如,任何 Socket CHS。连接后,它将完全按照您所说的“就像外部键盘一样”运行。
HID:使用任何扫描仪作为键盘,您只能将扫描的数据输入到开放的输入字段中,用户可以在其中修改扫描的数据,并且后处理和验证的选项有限。
因为扫描仪在 iOS 中显示为键盘,所以 iOS 隐藏了屏幕键盘 - 这是有道理的……如果扫描仪是一个实际的键盘。一些扫描仪(包括 Socket CHS 7Ci 和 7Xi)提供了强制使用键盘的机制(在我们的 CHS 上双击电源按钮)或应用程序可以强制使用键盘(请参阅:相关的stackoverflow 问题)
SDK:使用 SDK 开发应用程序可提供更强大的设置并处理更复杂的用例:即使输入字段未激活,也可以扫描到应用程序,强制执行特定的扫描顺序(扫描 UPC 后跟 VIN 编号,而不是反之)反之亦然),或解析扫描的数据(将时间戳分解为年、月、日、时间)。
结论:就个人而言,我会使用 HID 模式作为一种快速而肮脏的入门方式,但会切换到最终产品的 SDK。显然,这取决于您需要/想要多少控制。
免责声明:我为 Socket Mobile 工作
您可以从链接下载演示
http://www.datecs.bg/en/products/Linea-Pro-iPhone-SDK/8/102
解压后运行 LineaDemo 即可。它正在使用 Linea Pro Scanner[外部设备] 进行扫描