原因描述:由于要上架新APP發(fā)現(xiàn)APP中ZBarSDK/libzbar.a庫中包換uiwebview,現(xiàn)在蘋果新APP上架禁用uiwebview,第一反應(yīng)是上網(wǎng)上找找最新的libzbar.a庫替換下,找了一個鐘頭沒有找到最新的不包含uiwebview的庫(如果有找到不包含的私聊發(fā)我下哈)。至此開新路,我的需求是既需要掃描二維碼也可以掃描條形碼。找到了阿里云的mPaaS_ScanCode。
第一步 集成
1、找到開發(fā)文檔地址如下 https://help.aliyun.com/document_detail/165234.html?spm=a2c4g.11186623.6.1581.57be6560HByJNB
2、我選擇的是 CocoaPods 接入
如果你也是,先要檢查是否本地有CocoaPods環(huán)境,然后看是否安裝
cocoapods-mPaaS 插件,如果沒有執(zhí)行以下命令
sh <(curl -s http://mpaas-ios.oss-cn-hangzhou.aliyuncs.com/cocoapods/installmPaaSCocoaPodsPlugin.sh)
3、安裝完插件之后在阿里云控制臺創(chuàng)建應(yīng)用,輸入綁定標識,并下載 .config 配置文件,拖到項目跟目下。
終端執(zhí)行下面命令,自動處理 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"
執(zhí)行 pod install 即可完成接入
第二步 使用
1、先導入以下基本庫
#import <TBScanSDK/ScanSDKDefine.h>//基本define
#import <TBScanSDK/ScanSDKProtocol.h>//回調(diào)
#import <TBScanSDK/TBScanViewController.h>//無樣式
#import <TBScanSDK/TBScanResult.h>//無樣式
TBScanViewControllerDelegate
2、聲明scanVC
@property(nonatomic, strong) TBScanViewController *scanVC;
3、在需要進入掃碼界面是調(diào)以下代碼
TBScanViewController *vc = [[TBScanViewController alloc] init];
vc.scanType = ScanType_All_Code;
vc.title = @"掃碼";
vc.animationRect = kScanRect;//掃碼區(qū)域大小
vc.delegate = self;
[self.navigationController pushViewController:vc animated:YES];
self.scanVC = vc;
4、處理掃描結(jié)果
#pragma mark 處理掃描結(jié)果
-(void)didFind:(NSArray<TBScanResult*>*)resultArray
{
if([resultArray count] > 0) {
TBScanResult *result = resultArray.firstObject;
NSString* content = result.data;
dispatch_async(dispatch_get_main_queue(), ^{
// 注意:掃碼的結(jié)果是在子線程,如有UI相關(guān)操作,請切換到主線程
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:content delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
});
}
}
5、相冊掃描
在相冊掃描按鈕點擊事件里添加如下代碼
[self.scanVC scanPhotoLibrary];
最后
以上為掃碼簡單實用,如果不滿足你的需求,可查看集成庫里的注釋。