AVFoundation iOS二维码扫描功能

iOS 的二维码扫描功能,用 AVFoundation 来搞,真的是再合适不过了。AVCaptureSession配合AVCaptureMetadataOutput,一套组合拳下来,二维码内容轻松拿到。整个流程清晰、上手也快,新手也能搞定。

摄像头的输入流用AVCaptureDeviceInput搞定,通过metadataOutput.metadataObjectTypes = [.qr]来指定只识别二维码。配上实时预览层AVCaptureVideoPreviewLayer,效果还挺丝滑的,看着也专业。

要拿到二维码的内容,就在captureOutput(_:didOutput:from:)里返回的字符串。比如跳个页面、自动填表、查优惠券啥的,都能直接来。

注意权限问题哦,别忘了在Info.plist里加NSCameraUsageDescription,否则直接懵逼;还有,模拟器是扫不了二维码的,要真机。

如果你还想生成二维码,除了CIQRCodeGenerator,也可以试试一些封装好的库,比如UIImage+QRCode,用起来更省事。

对了,下面这几个文章也蛮实用的:

,AVFoundation 这套二维码方案,稳定、易用、兼容性也不错。想快速实现扫码功能,跟着上面那段代码来一遍,基本就能跑起来。

zip 文件大小:1.48MB