//1. 實例化拍攝設備
AVCaptureDevice*device = [AVCaptureDevicedefaultDeviceWithMediaType:AVMediaTypeVideo];
//2. 設置輸入設備
AVCaptureDeviceInput*input = [AVCaptureDeviceInputdeviceInputWithDevice:deviceerror:nil];
//3. 設置元數據輸出
//3.1 實例化拍攝元數據輸出
AVCaptureMetadataOutput*output = [[AVCaptureMetadataOutputalloc] init];
//3.3 設置輸出數據代理
[outputsetMetadataObjectsDelegate:selfqueue:dispatch_get_main_queue()];
//4. 添加拍攝會話
//4.1 實例化拍攝會話
AVCaptureSession*session = [[AVCaptureSessionalloc] init];
//4.2 添加會話輸入
[sessionaddInput:input];
//4.3 添加會話輸出
[sessionaddOutput:output];
//4.3 設置輸出數據類型,需要將元數據輸出添加到會話後,才能指定元數據類型,否則會報錯
[outputsetMetadataObjectTypes:@[AVMetadataObjectTypeQRCode]];