# SGQRCode
**Repository Path**: liucong2018_admin/SGQRCode
## Basic Information
- **Project Name**: SGQRCode
- **Description**: No description available
- **Primary Language**: Objective-C
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-06-10
- **Last Updated**: 2021-06-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# SGQRCode
* `QQ群:825339547`
* `注意:3.5.0 版本重构:API 功能的拓展及扫码识别优化`
## 主要内容的介绍
* `生成二维码`
* `扫描二维码`
* `从相册中读取二维码`
* `根据光线强弱开启手电筒`
* `扫描成功之后界面之间逻辑跳转处理`
* `扫描界面可自定义(线扫描条样式以及网格样式)`
* `扫描界面仿微信(请根据项目需求,自行布局或调整)`
## SGQRCode 集成
* 1、CocoaPods 导入 pod 'SGQRCode', '~> 3.5.0'
* 2、下载、拖拽 “SGQRCode” 文件夹到工程中
## 代码介绍 (详细使用,请参考 Demo)
#### 1、在 info.plist 中添加以下字段(iOS 10 之后需添加的字段)
* `NSCameraUsageDescription (相机权限访问)`
* `NSPhotoLibraryUsageDescription (相册权限访问)`
#### 2、二维码扫描
```Objective-C
/// 创建二维码扫描类
manager = [SGQRCodeManager QRCodeManager];
/// 二维码扫描回调方法
[manager scanWithController:self resultBlock:^(SGQRCodeManager *manager, NSString *result) {
<#code#>
}];
/// 开启二维码扫描回调方法: 需手动开启
[manager startRunningWithBefore:^{
// 在此可添加 HUD
} completion:^{
// 在此可移除 HUD
}];
/// 外界光线强弱值回调方法
[manager scanWithBrightnessBlock:^(SGQRCodeManager *manager, CGFloat brightness) {
<#code#>
}];
/// 从相册中读取二维码回调方法
[manager readWithResultBlock:^(SGQRCodeManager *manager, NSString *result) {
<#code#>
}];
```
#### 3、二维码生成
```Objective-C
/// 常规二维码
_imageView.image = [SGQRCodeObtain generateQRCodeWithData:@"https://github.com/kingsic" size:size];
/// 带 logo 的二维码
_imageView.image = [SGQRCodeObtain generateQRCodeWithData:@"https://github.com/kingsic" size:size logoImage:logoImage ratio:ratio];
```
## 效果图
 
 
## 问题及解决方案
* 若在使用 CocoaPods 安装第三方时,出现 [!] Unable to find a specification for SGQRCode 提示时,打开终端先输入 pod repo remove master;执行完毕后再输入 pod setup 即可 (可能会等待一段时间)
* 参考资料 [iOS 从相册中读取条形码/二维码遇到的问题](https://blog.csdn.net/gaomingyangc/article/details/54017879)
* 3.5.0 版本支持 9.0+,之前的版本支持 8.0+(iOS 扫描支持 7.0+;从相册中读取二维码支持 8.0+)
## 更新介绍
* 2016-09-30 :新增从相册中读取二维码功能
* 2016-10-27 :解决从相册中读取二维码,取消选择返回时,图层卡死问题(修改了创建扫描边框问题)
* 2017-01-29 :对扫描二维码部分代码的封装;扫描视图布局采用 CALayer
* 2017-03-21 :v2.0.0 使用继承的思想进行二维码扫描管理
* 2017-05-16 :v2.0.5 使用封装的思想进行二维码扫描管理
* 2017-06-26 :v2.1.0 加入 CocoaPods 管理
* 2017-08-17 :v2.1.5 新增根据光线强弱判断是否打开手电筒
* 2017-08-23 :v2.1.6 扫描界面使用 UIBezierPath 布局且可根据不同需求实现自定义(扫描线条以及网格样式)
* 2018-02-08 :v2.2.0 新增新浪微博示例、新增从相册中读取二维码失败回调函数以及分类名称的更换
* 2018-11-09 :v3.0.0 版本重构:Block 取代 Delegate,更多内容请在 [releases](https://github.com/kingsic/SGQRCode/releases) 中查看
* 2018-11-27 :v3.0.1 SGQRCodeObtain 类中新增二维码生成方法
* 2021-05-30 :v3.5.0 版本重构:API 功能的拓展及扫码识别优化,更多内容请在 [releases](https://github.com/kingsic/SGQRCode/releases/tag/3.5.0) 中查看
## License
SGQRCode is released under the Apache License 2.0. See [LICENSE](https://github.com/kingsic/SGQRCode/blob/master/LICENSE) for details.