智能扫码 快速入门

1. 注册并登录腾讯云账号,进入 智能扫码 SDK 接入 页面,单击申请 SDK,提交智能扫码服务的申请,等待审核通过后,获得专属密钥。2. 从 SDK 下载链接中下载智能扫码 SDK 到本地准备集成。

相关产品
智能扫码 产品页,含版本规格、价格与购买入口。

一、SDK 介绍

SDK 中包含了三个文件,分别是 QBarCodeSDK.framework、QBar.framework、QbarCodeRes.bundle 文件。

·QBarCodeSDK.framework:是主要的扫码逻辑库。

·QBar.framework:扫码依赖库。

·QbarCodeRes.bundle:资源文件。

二、环境依赖

·当前 iOS 端智能扫码 SDK 版本适用于 iOS 9.0及以上的版本。

·Xcode 使用11.0及以上版本开发集成,建议使用最新版。

三、接入步骤

1. 将 QBarCodeSDK.framework、QBar.framework、QbarCodeRes.bundle 添加至项目中。

2. 引入系统库 framework。

├── libiconv.tbd├── Accelerate.framework├── MetalPerformanceShaders.framework├── libz.tbd├── CoreMedia.framework├── AVFoundation.framework└── SystemConfiguration.framework

3. 添加编译选项

·调用 SDK 页面设置为 Objective-C++ Source。


·将 bitcode 设置为 NO(不支持bitcode)。

·将 Other Linker Flags 添加 -ObjC。

4. 权限设置
智能扫码 SDK 需要手机网络、 摄像头、访问相册的使用权限,请添加对应的权限声明。

<key>Privacy – Camera Usage Description</key><string>扫码需要开启你的摄像头权限,用于识别</string><key>Privacy – Photo Library Usage Description</key><string>扫码需要你开启相册权限,浏览你的照片</string>

四、SDK 初始化

用户初始化智能扫码 SDK,SECRET_ID 与 SECRET_KEY 传入云服务后台申请的密钥信息(申请地址:智能扫码申请),同时需要导入 QBarCodeSDK.h 和 QbarCodeRes.bundle 资源文件。

#import <QBarCodeSDK/QBarCodeSDK.h>static NSString* const SECRET_ID = @""; // SECRET_ID 信息static NSString* const SECRET_KEY = @""; // SECRET_KEY 信息static NSString* const TEAM_ID = @""; // TEAM_ID 信息static const NSString *ERRCODE = @"errorcode"; // 结果错误码对应的Keystatic const NSString *ERRMSG = @"errormsg"; // 错误信息对应的Keystatic const NSString *CONTENT = @"content"; // 识别结果信息对应的Key[[QBarCodeKit sharedInstance] initQBarCodeKit:SECRET_ID secretKey:SECRET_KEY teamId:TEAM_ID resultHandle:^(NSDictionary * _Nonnull resultDic) { NSNumber *errCode = resultDic[ERRCODE]; // errorCode 为0 授权验证通过 int code = [errCode intValue]; NSString *errMsg= resultDic[ERRMSG]; // 获取初始化失败信息}];

五、摄像头数据实时识别

智能扫码 SDK 提供摄像头实时数据扫码功能,满足你在自定义 UI 布局中的使用需求。

/** 摄像头视频流数据解码 sampleBuffer 桢数据*/[[QBarCodeKit sharedInstance] qBarDecodingWithSampleBuffer:sampleBuffer resuldHandle:^(NSDictionary * _Nonnull resultDic) { NSString *msg = resultDic[CONTENT]; NSLog(@"qBarDecodingWithSampleBuffer result: %@",msg);}];

六、默认扫描界面识别(推荐)

如果你只关注扫码功能不需支持自定义 UI 界面,可以使用智能扫码 SDK 内自带的默认界面完成扫描操作。

[[QBarCodeKit sharedInstance] startDefaultQBarScan:self withResult:^(NSDictionary * _Nonnull resultDic) { NSString *msg = [self convertToJsonData:resultDic]; }];

七、传入图片识别

除了主动扫描以外,智能扫码 SDK 还支持图片识别功能,只需传入需要识别的图像:

/** image 需解码图片 图片大小建议小于1M*/[[QBarCodeKit sharedInstance] decodeImageWithQBar:image resultHandler:^(NSDictionary * _Nonnull resultDic) { NSString *msg = resultDic[CONTENT]; NSLog(@"decodeImageWithQBar result: %@",msg);}];

八、数据声明

iOS 识别的数据结果也就是从 CONTENT 中获取的值为 JSON 格式,先举例说明其内容格式:

{ "charset":"ISO8859-1", "data":"https://cloud.tencent.com/", "typeName":"QR_CODE"}

其中 charset 表示内容信息的字符集,data 表示扫码得到的内容信息,typeName 表示扫码类型如条形码、二维码。

赞 (0)
上一篇 4天前
下一篇 4天前