SGQRCode 4.1.0

SGQRCode 4.1.0

测试已测试
语言语言 Obj-CObjective C
许可 Apache-2.0
发布最新发布2022年7月

kingsic维护。



SGQRCode 4.1.0

  • kingsic

SGQRCode

版本 UIKit 用途
3.5x iOS 9.0+
4.x iOS 11.0+ 委托

主要功能

生成二维码

扫描二维码

捕获内容缩放功能

图片中识别二维码

相机、相册权限判断

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

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

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

主要类说明

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

SGQRCode 集成流程

手动集成

将 SGQRCode 文件夹添加到工程中

通过 CocoaPods 集成

pod 'SGQRCode', '~> 4.1.0'

Info.plist 添加以下字段

NSCameraUsageDescription (相机权限访问)

NSPhotoLibraryUsageDescription (相册权限访问)

引用头文件

#import <SGQRCode/SGQRCode.h>

扫描二维码相关代码

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

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

// 遵循 SGScanCodeDelegate
scanCode.delegate = self;

// 遵循 SGScanCodeSampleBufferDelegate
scanCode.sampleBufferDelegate = self;

// 开启扫描
[scanCode startRunning];

// 结束扫描
[scanCode stopRunning];

委托方法

// 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];

效果图

问题及解决方案

  • 在使用 CocoaPods 安装第三方时,如果出现 [!] Unable to find a specification for SGQRCode 提示,请在终端中先输入 pod repo remove master;执行完毕后再输入 pod setup 即可(可能需要等待一段时间)

  • CIDetector 类只能识别图片中的二维码,目前暂不支持识别图片中的条形码。[解决方案](https://juejin.cn/post/6844903910428114952)

更新说明

  • 2021-07-05 :v3.5.1 版本重构:修复#163 问题,更多内容请在releases 中查看

  • 2022-07-16 :v4.0.0 版本重构:Delegate 取代 Block,新增手动对焦功能,优化拓展扫描视图,更多内容请在releases 中查看

  • 2022-07-16 :v4.1.0 优化SGScanView内部代码逻辑,修复无扫描线时,导致程序崩溃的问题

授权

SGQRCode 在 Apache License 2.0 授权下发布。有关详细信息,请参阅 LICENSE