目录

FAQ

如果您在下面没有找到需要的问题,请加入Stack Overflow社区参与讨论。

Android

[h2]如何获取华为Scan Kit的扫码能力?

需要先集成华为统一扫码SDK然后调用此SDK就能获取扫码能力。详情请参见集成HMS Core SDK。

[h2]华为统一扫码SDK是否支持第三方设备?

支持。华为统一扫码SDK从1.1.0.300版本开始支持非华为Android手机。

[h2]华为统一扫码SDK能够实现哪些条码的解析?

Scan SDK能实现一维码、二维码和自定义码类型的解析,目前支持EAN-8、EAN-13、UPC-A、UPC-E、Codabar、Code 39、Code 93、Code 128、ITF14、QR、DataMatrix、PDF417、Aztec、多功能码格式条码的解析。

[h2]Scan Kit支持哪些语言?

Scan Kit和HMS Core(APK)支持的语言相同,当前支持78种语言,具体可以参见HMS Core SDK支持的语言。

[h2]不同的API间算法是否相同?

不同API的识别和解码算法相同。

[h2]是否涉及云端的功能?

不涉及云端功能,不保存任何个人数据。

[h2]无法实现条码解析怎么办?

  1. 您需要安装3.0.3及以上版本的HMS Core(APK)。
  2. 查看相机是否自动聚焦,对于模糊的图像,会因为无法自动聚焦而导致无法识别、解析结果。
  3. 检查一下所扫的码是否在支持的一维码或二维码范围内。
  4. 如还未解决,请通过在线提单提交问题,华为支持人员会及时处理。

[h2]与交易相关的应用调用扫码功能时,会对准银行卡号等私密信息,卡号存储是否安全?

华为Scan Kit数据纯端侧处理,不会保存任何个人数据,保障私密信息的安全性。

[h2]Default View Mode如何去掉图库图像?

Default View Mode无法去掉图库图像,如想自定义View,建议接入Customized View Mode。

[h2]Scan Kit如何取消自动放大焦距?

使用Customized View模式时,图像会自动放大是算法自动控制的,无法手动关闭。如果不想使用该功能,建议您集成Bitmap Mode的相机扫码。具体操作步骤请参见相机扫码场景。

[h2]如何解决二维码在手机上展示的位置与边框存在偏移的问题?

返回Rect是因为您传入Scan Kit的原始图片,而不是相机的原始预览流。可参考示例代码:

public void drawGraphic(Canvas canvas) {
    if (hmsScan == null) {
        return;
     }
    RectF rect = new RectF(hmsScan.getBorderRect());
    RectF other = new RectF();
    other.left = canvas.getWidth()-scaleX(rect.top);
    other.top = scaleY(rect.left);
    other.right = canvas.getWidth()-scaleX(rect.bottom);
    other.bottom = scaleY(rect.right);
    canvas.drawRect(other, rectPaint);
    canvas.drawText(hmsScan.getOriginalValue(), other.right, other.bottom, hmsScanResult);
}
public float scaleX(float horizontal) {
    return horizontal * scanResultView.widthScaleFactor;
}
public float scaleY(float vertical) {
    return vertical * scanResultView.heightScaleFactor;
}

[h2]Scan Kit中Default View Mode和Bitmap Mode两种模式的图片解析能力有什么差异?

Default View Mode和Bitmap Mode两种模式的图片解析能力没有差异。

您在进行图片扫码时,我们建议使用Bitmap模式,对应的实现方式请参见:图片扫码场景。扫描二维码时,请将二维码的定位符两个位于上方,一个位于下方进行摆放。

另外针对扫码效果,可以采取如下措施:

  1. 使用最新的SDK版本,详细可参见版本更新说明。
  2. 使用setHmsScanTypes配置所要识别的码类型,例如setHmsScanTypes(HmsScan.QRCODE_SCAN_TYPE)。

[h2]Scan Kit为什么会用到网络模块?

我们已经在SDK数据安全中进行了说明,详细可参见SDK隐私声明。

iOS

[h2]如何获取华为Scan Kit的扫码能力?

需要先将华为统一扫码SDK集成到您的Xcode开发环境,然后调用此SDK就能获取扫码能力。详情请参见集成HMS Core SDK。

[h2]华为统一扫码SDK从哪个版本开始支持iOS?

1.2.0.300版本开始支持iOS 9.0版本以上的手机。

[h2]华为统一扫码SDK能够实现哪些条码的解析?

Scan SDK能实现多种一维码和二维码类型的解析,目前支持EAN-8、EAN-13、UPC-A、UPC-E、Codabar、Code 39、Code 93、Code 128、ITF14、QR、DataMatrix、PDF417、Aztec格式条码的解析。

[h2]如何解决iOS打包上架问题?

SDK直接运行无问题,但发布时报错“Unsupported Architecture. Your executable contains unsupported architecture '[x86_64]...”。

为了方便您调试,ScanKitFrameWork.framework合并了模拟器和真机架构,上线前,使用lipo工具移除相关架构即可,参考:

cd ScanKitFrameWork.framework
# 使用lipo -info 可以查看包含的架构
lipo -info ScanKitFrameWork  # Architectures in the fat file: ScanKitFrameWork are: x86_64 arm64
# 移除x86_64
lipo -remove x86_64 ScanKitFrameWork -o ScanKitFrameWork
# 再次查看
lipo -info  ScanKitFrameWork # Architectures in the fat file: ScanKitFrameWork are: arm64

[h2]如何解决iOS提示“Undefined symbols for architecture armv7”报错信息问题?

iOS系统集成华为统一扫码SDK不支持armv7架构,需要在开发工程中去掉armv7。

[h2]如何解决iOS删除模拟器架构后仍需要用模拟器调试的问题?

需要重新集成包含模拟器架构的SDK,请按照集成HMS Core SDK的方式进行操作。

[h2]iOS证书打包时,如何开启Automatically manage signing?

  1. 在Xcode工程中选择“General”。
  2. 在“Frameworks, Libraries, and Embedded Content”区域下,将“ScanKitFrameWork.framework”设置为“Embed Without Signing”。如图: