虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > IOS编程/Objective-C > iOS实现二维码的扫描功能

iOS实现二维码的扫描功能
类别:IOS编程/Objective-C   作者:码皇   来源:互联网   点击:

本文给大家介绍的是iOS 原生态API实现二维码的扫描功能,非常简单实用,有需要的小伙伴可以参考下。

直接上代码,就不多废话了

    //// ViewController.m// QRCode//// Created by chenchen on 15/7/30.// Copyright (c) 2015年 BSY. All rights reserved.//#import <AVFoundation/AVFoundation.h>#import "ViewController.h"@interface ViewController ()<AVCaptureMetadataOutputObjectsDelegate> @end @implementation ViewController - (void)viewDidLoad {
    [super viewDidLoad];
    AVCaptureSession *session = [[AVCaptureSession alloc] init];
    AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    NSError *error = nil;
    AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error];
    if (input) {
    [session addInput:input];
    }
    else {
    NSLog(@"Error: %@", error);
    }
    AVCaptureMetadataOutput *output = [[AVCaptureMetadataOutput alloc] init];
    //设置扫码支持的编码格式(如下设置条形码和二维码兼容) [output setMetadataObjectTypes:@[AVMetadataObjectTypeQRCode,AVMetadataObjectTypeEAN13Code, AVMetadataObjectTypeEAN8Code, AVMetadataObjectTypeCode128Code]];
    [output setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()];
    [session addOutput:output];
    [session startRunning];
    }
    #pragma mark - AVCaptureMetadataOutputObjectsDelegate- (void)captureOutput:(AVCaptureOutput *)captureOutputdidOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection{
    NSString *QRCode = nil;
    for (AVMetadataObject *metadata in metadataObjects) {
    if ([metadata.type isEqualToString:AVMetadataObjectTypeQRCode]) {
    // This will never happen;
    nobody has ever scanned a QR code... ever QRCode = [(AVMetadataMachineReadableCodeObject *)metadata stringValue];
    break;
    }
    }
    NSLog(@"QR Code: %@", QRCode);
    }
    - (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.}
    @end

相关热词搜索: iOS 二维码 扫描