iOS扫描二维码,网上能找到的资料,都是基于zbarSDK这个第三方库的,但是这个库已经多年没有人维护,使用的时候会遇到编译通不过等问题,建议不再使用。如果应用只支持iOS7以上系统,可以用系统自带的方法。
首先 #import <AVFoundation/AVFoundation.h>
// 添加捕捉设备
AVCaptureDevice *captureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
// 添加输入流
NSError *error;
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:captureDevice error:&error];
// 添加output
AVCaptureMetadataOutput *captureMetadataOutput = [[AVCaptureMetadataOutput alloc] init];
captureMetadataOutput.rectOfInterest = [self convertRectOfInterest:self.cropRect];
// 结果回调
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection
{
if (!_isReading) return;
if (metadataObjects != nil && [metadataObjects count] > 0) {
AVMetadataMachineReadableCodeObject *metadataObj = [metadataObjects objectAtIndex:0];
NSLog(@"%@",metadataObj.stringValue);
[_captureSession stopRunning];
// 振动提示
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}
}
详细代码稍后上传。