iOS 扫描二维码\条形码的ZBarSDK换成阿里云的mPaaS_ScanCode

原因描述:由于要上架新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 //基本define
#import //回调
#import //无样式
#import //无样式
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*)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];

最后

以上为扫码简单实用,如果不满足你的需求,可查看集成库里的注释。

你可能感兴趣的:(iOS 扫描二维码\条形码的ZBarSDK换成阿里云的mPaaS_ScanCode)