原因描述:由于要上架新APP发现APP中ZBarSDK/libzbar.a库中包换uiwebview,现在苹果新APP上架禁用uiwebview,第一反应是上网上找找最新的libzbar.a库替换下,找了一个钟头没有找到最新的不包含uiwebview的库(如果有找到不包含的私聊发我下哈)。至此开新路,我的需求是既需要扫描二维码也可以扫描条形码。找到了阿里云的mPaaS_ScanCode。
第一步 集成
1、找到开发文档地址如下 https://help.aliyun.com/document_detail/165234.html?spm=a2c4g.11186623.6.1581.57be6560HByJNB
2、我选择的是 CocoaPods 接入
如果你也是,先要检查是否本地有CocoaPods环境,然后看是否安装
cocoapods-mPaaS 插件,如果没有执行以下命令
sh <(curl -s http://mpaas-ios.oss-cn-hangzhou.aliyuncs.com/cocoapods/installmPaaSCocoaPodsPlugin.sh)
3、安装完插件之后在阿里云控制台创建应用,输入绑定标识,并下载 .config 配置文件,拖到项目跟目下。
终端执行下面命令,自动处理 Podfile 文件,并添加 plugin、source 以及 mPaaS_baseline 配置。
pod mpaas init
在podfile文件里输入如下代码
plugin "cocoapods-mPaaS"
source "https://code.aliyun.com/mpaas-public/podspecs.git"
mPaaS_baseline 'x.x.x'
说明:需将代码中的 x.x.x 替换为实际的基线版本。
4、在 Podfile 文件中再输入依赖库名称,使用
mPaaS_pod "mPaaS_ScanCode"
执行 pod install 即可完成接入
第二步 使用
1、先导入以下基本库
#import <TBScanSDK/ScanSDKDefine.h>//基本define
#import <TBScanSDK/ScanSDKProtocol.h>//回调
#import <TBScanSDK/TBScanViewController.h>//无样式
#import <TBScanSDK/TBScanResult.h>//无样式
TBScanViewControllerDelegate
2、声明scanVC
@property(nonatomic, strong) TBScanViewController *scanVC;
3、在需要进入扫码界面是调以下代码
TBScanViewController *vc = [[TBScanViewController alloc] init];
vc.scanType = ScanType_All_Code;
vc.title = @"扫码";
vc.animationRect = kScanRect;//扫码区域大小
vc.delegate = self;
[self.navigationController pushViewController:vc animated:YES];
self.scanVC = vc;
4、处理扫描结果
#pragma mark 处理扫描结果
-(void)didFind:(NSArray<TBScanResult*>*)resultArray
{
if([resultArray count] > 0) {
TBScanResult *result = resultArray.firstObject;
NSString* content = result.data;
dispatch_async(dispatch_get_main_queue(), ^{
// 注意:扫码的结果是在子线程,如有UI相关操作,请切换到主线程
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:content delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
});
}
}
5、相册扫描
在相册扫描按钮点击事件里添加如下代码
[self.scanVC scanPhotoLibrary];
最后
以上为扫码简单实用,如果不满足你的需求,可查看集成库里的注释。