使用系统API(AVFoundation)进行封装,包含UI界面以及对二维码,条形码进行扫描,生成等操作
Objective-C Version: ZZYQRCode
platform :ios, '8.0'
use_frameworks!
pod 'ZZYQRCodeSwift', '~> 1.1.0'
- 创建sessionManager,同时需要设置扫描类型、扫描区域等
let session = AVCaptureSessionManager(captureType: .AVCaptureTypeBoth, scanRect: CGRect.null, success: SuccessBlock)
- 显示View
session.showPreViewLayerIn(view: view)
- 扫描音效
var isPlaySound = false
var soundName:String?
- 开启闪光灯
session.turnTorch(state: torchState)
- 扫描相册中的二维码
session.scanPhoto(image: UIImage, success: SuccessBlock)
- 权限监测
class func checkAuthorizationStatusForCamera(grant:@escaping GrantBlock, denied:DeniedBlock)
- 创建普通二维码
let image = UIImage.createQRCode(size: 200, dataStr: "hello")
- 自定义二维码
let image = UIImage(named: "bigMax")
QRImage.image = UIImage.createCustomizeQRCode(size: 200,
dataStr: "hello",
imageType: .CircularImage,
iconImage: image!,
iconImageSize: 40)
由于iOS10权限设置变换,需要在项目中的info.plist文件中添加如下文件
<key>NSCameraUsageDescription</key>
<string></string>
<key>NSPhotoLibraryUsageDescription</key>
<string></string>