在移动设备上,使用蓝牙扫描枪,相当于接入了一下外接键盘。我们的客户使用我们的App,并连接蓝牙扫码枪,将扫描的内容传输到我们的App中,App再做出对应的响应,举个例子,较为常见的应用场景就是,拣货员拿着扫码枪,扫描产品上的UPC码,然后在App中收到这个码,请求在这个码的相应信息,展示在App中。
我们的客户比多,各个国家的都有,其中有一个客户是在西班牙,他们在使用扫码枪的时候,发现了一些扫描不准确的问题,例如
条码内容是 ’X_ 123‘ 通过扫描后,App接收到的内容变成了 ’X?123‘;
扫描 ‘A-B-C’ 变成了 ‘A’B’C’
一些字符在扫码的时候就会发生变化。但是这种情况不是大量用户,而是个人用户有此问题。
扫码内容不准确,可能跟键盘有关联,因为扫码枪就相当于一个外接键盘。
开始我没有复现这个问题,后来我想用户是在西班牙,应该是使用的西班牙语,我将设备设置成了西班牙语再次复现,也没复现出来。后来我想用户使用的输入法应该是西班牙语的输入法,而我们一般使用的英语,于是我添加了一个西班牙语的输入法,之后复现了问题。
查了查有关扫码枪的资料,Apple社区里都很少有相关的帖子。最后查了查键盘相关的找到了一个别人反馈的问题 https://discussions.apple.com/thread/250928656。
这个帖子反馈的是输入法的问题,输入法在输入的时候,匹配的语言比较杂乱。
按照提示我对iOS设备做了一些键盘上的设置:
go to Settings > General > Keyboards > Keyboards and remove all but the English one
这可能是键盘智能提示相关的问题,当设置了太多的输入法之后,系统键盘难免出现一些输入提示上的问题。而扫码枪扫码的内容不准确,部分字符变成了其他内容,这可能一直以来就是一个bug。
好在通过设置输入法可以避免这个问题,一般的我们也不会设置太多的输入法。