Home

Awesome

SGQRCode

VersionUIKitUse
3.5xiOS 9.0+Block
4.xiOS 11.0+Delegate

主要功能

生成二维码<br>

扫描二维码<br>

捕获内容缩放功能<br>

图片中识别二维码<br>

相机、相册权限判断<br>

根据光线强弱开启关闭手电筒<br>

扫描成功后界面间的逻辑跳转处理<br>

扫描界面可高度自定义(满足所有主流app)<br>

主要类说明

类名说明
SGScanCode扫描二维码
SGScanViewConfigure扫描视图配置
SGScanView扫描视图
SGPermission相册、相机权限管理
SGTorch手电筒管理
SGQRCodeLog调试日志

SGQRCode 集成流程

手动集成

添加 SGQRCode 文件夹到工程中

通过 CocoaPods 集成

pod 'SGQRCode', '~> 4.1.0'

Info.plist 添加以下字段

NSCameraUsageDescription (相机权限访问)<br>

NSPhotoLibraryUsageDescription (相册权限访问)<br>

引用头文件

#import <SGQRCode/SGQRCode.h>

扫描二维码相关代码

// 创建二维码扫描类
scanCode = [SGScanCode scanCode];

// 预览视图,必须设置
scanCode.preview = self.view;

// 遵循 SGScanCodeDelegate
scanCode.delegate = self;

// 遵循 SGScanCodeSampleBufferDelegate
scanCode.sampleBufferDelegate = self;

// 开启扫描
[scanCode startRunning];

// 结束扫描
[scanCode stopRunning];

Delegate 方法

// SGScanCodeDelegate
- (void)scanCode:(SGScanCode *)scanCode result:(NSString *)result {
    <#code#>
}

// SGScanCodeSampleBufferDelegate
- (void)scanCode:(SGScanCode *)scanCode brightness:(CGFloat)brightness {
    <#code#>
}

图片中识别二维码方法

[scanCode readQRCode:image completion:^(NSString *result) {
    <#code#>
}];

生成二维码相关方法

// 普通二维码生成方法
[SGGenerateQRCode generateQRCodeWithData:data size:size];

// 带 logo 的二维码生成方法
[SGGenerateQRCode generateQRCodeWithData:data size:size logoImage:logoImage ratio:ratio];

效果图

<img src="https://github.com/kingsic/SGQRCode/raw/master/Pictures/sgqrcode_1.png" width="40%" height="40%"> <img src="https://github.com/kingsic/SGQRCode/raw/master/Pictures/sgqrcode_2.png" width="40%" height="40%"> <img src="https://github.com/kingsic/SGQRCode/raw/master/Pictures/sgqrcode_3.png" width="40%" height="40%"> <img src="https://github.com/kingsic/SGQRCode/raw/master/Pictures/sgqrcode_4.png" width="40%" height="40%"> <img src="https://github.com/kingsic/SGQRCode/raw/master/Pictures/sgqrcode_5.png" width="40%" height="40%"> <img src="https://github.com/kingsic/SGQRCode/raw/master/Pictures/sgqrcode_6.png" width="40%" height="40%">

问题及解决方案

更新说明

License

SGQRCode is released under the Apache License 2.0. See LICENSE for details.