iOS开发 使用原生Api扫描二维码和条形码
1、创建工程项目和视图控制器 创建一个single view工程项目,自动创建一个ViewController试图控制器。
2、创建一个CKScanHelper类文件 创建资源文件Cocoa Touch Class,下一步选择继承于NSObject,名字为CKScanHelper文件。
3、配置及声明对象 1.包含头文件:#import <AVFoundation/AVFoundation.h> 2.引用协议代理: AVCaptureMetadataOutputObjectsDelegate
4、实现单例+ (instancetype)manager{ static CKScanHelper *singleton = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ singleton = [[CKScanHelper alloc] init]; }); return singleton;}
5、实例化对象 注意模拟器时不能扫描,加条件判断。 配置兼容二维码和条形码
6、开始结束扫描 [_session startRunning]; [_session stopRunning];
7、实现扫描代理方法成功输出- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection;
8、优化扫描区域 设置扫描范围区域 CGRectMake(y的起点/屏幕的高,x的起点/屏幕的宽,扫描的区域的高/屏幕的高,扫描的区域的宽/屏幕的宽)
9、添加显示图层 用来显示扫描页面。
10、头文件声明 公开外部调用方法。
11、iOS10需要添加相机权限 在info.plist文件上添加键值对: <key>NSCameraUsageDescription&造婷用痃lt;/key> <string>cameraDesciption</string> 或者如图添加:Privacy - Camera Usage Description,value自己想写什么就写什么。