GithubHelp home page GithubHelp logo

kingsic / sgqrcode Goto Github PK

View Code? Open in Web Editor NEW
1.7K 1.7K 369.0 52.48 MB

The easy to use bar code and QR code scan library for iOS【支持二维码生成、读取图片中二维码、条形码和二维码扫描】

License: Apache License 2.0

Objective-C 99.47% Ruby 0.53%
barcode qrcode

sgqrcode's People

Contributors

kingsic avatar liaoxiaoyue avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sgqrcode's Issues

viewwillappear的问题

进入扫描界面后 侧滑返回(并不完全返回到上个界面), 此时发现扫描界面卡住。建议把setupScanningQRCode放到 viewDidLoad里.

二维码存在问题

0.进入相册选择图片直接卡死
1.二维码生成数据 能否由用户自己决定 生成二维码数据采集这边希望能够补上 [集成类似二维码生成器功能 这个暂时没有发现有什么用]
2.因为二维码扫描之后的有可能要上传到电脑 类似超市二维码扫描就上传到超市电脑的功能
[二维码扫描完成之后上传到电脑的功能 因为一般电脑没有搭建相应的服务器 可以考虑TCP Socket的方式进行数据传递
传输信息类型 因为二维码数据一般不是很大 一般就是一些文字什么的 可以提供上传字符串 上传图片与字符串混合模式]
3.上个版本不需要用户修改Bundle ID 不知道为什么这一版非要修改才能进行真机功能

造成循环引用

- (void)SG_readQRCodeFromAlbumWithCurrentController:(UIViewController *)currentController

_self.currentVC_ = currentController;
// 1、 获取摄像设备
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if (device) {
    // 判断授权状态
    PHAuthorizationStatus status = [PHPhotoLibrary authorizationStatus];
    if (status == PHAuthorizationStatusNotDetermined) { // 用户还没有做出选择
        // 弹框请求用户授权
        [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) {
            if (status == PHAuthorizationStatusAuthorized) { // 用户第一次同意了访问相册权限
                self.isPHAuthorization = YES;
                dispatch_async(dispatch_get_main_queue(), ^{
                    if (self.isOpenLog) {
                        SGQRCodeLog(@"第一次同意了访问相机权限 - - %@", [NSThread currentThread]);
                    }
                    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
                    imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; //(选择类型)表示仅仅从相册中选取照片
                    imagePicker.delegate = self;
                    [_self.currentVC_ presentViewController:imagePicker animated:YES completion:nil];
                });
                if (self.isOpenLog) {
                    SGQRCodeLog(@"用户第一次同意了访问相册权限 - - %@", [NSThread currentThread]);
                }
            } else { // 用户第一次拒绝了访问相机权限
                if (self.isOpenLog) {
                    SGQRCodeLog(@"用户第一次拒绝了访问相机权限 - - %@", [NSThread currentThread]);
                }
            }
        }];

关于生成二维码的最小识别尺寸问题

我这里试了下,最小设置成80个点也就是160像素,再小的话就无法被识别了,请问是这样的吧?如果是,有没有其他方法可以设置更小点也可以被识别?

内存泄漏

  1. CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray();
  2. CGImageRef scaledImage = CGBitmapContextCreateImage(bitmapRef);

这两句存在内存泄漏,

需要调用相关release方法释放内存

  1. CGColorSpaceRelease(colorSpace);
    
  2. CGImageRelease(scaledImage);
    

通过pod安装,扫描的小横条图片加载不到

看了一下代码,得到的图片是nil

  • (UIImageView *)scanningline {
    if (!_scanningline) {
    _scanningline = [[UIImageView alloc] init];
    _scanningline.image = [UIImage imageNamed:self.scanningImageName]; // nil
    }
    return _scanningline;
    }

文本二维码文字太多问题

让很多文字生成一个二维码,二维码密度增加,这种情况下怎么处理呢?我试的时候发现一直在扫描页面,没有什么反应,大概在700字以上文字生成的二维码扫描时就这样了,想问问大神有没有这一块的处理。

SGQRCodeScanningVC模块封装

你好!你的SGQRCodeScanningVC是一个控制器,我现在想封装成一个轻量级的独立模块,同时又留足够多的接口供外界调用。扫描需要用到input output session previewLayer及其delegate,我想把这个封装成CALayer的子类,但是在设置时遇到很多问题

建议:二维码扫描结果处理自定义和加入pod

首先谢谢作者提供了这样一个很好的封装。
我就拷贝文件夹直接拿过来用了,但是因为和demo是紧密联系在一起的,所以我还要自己用闭包来自己处理结果,虽然工作量不大,但是希望作者可以把这个封装的结果处理交给开发者,甚至把这个加入pod中进行管理

生成一张带有logo的二维码logo并没有添加上去

imageView.image = [SGQRCodeTool SG_generateWithLogoQRCodeData:@"https://github.com/kingsic" logoImageName:@"logoImg" logoScaleToSuperView:scale]; scale设置了,在模拟器中普通的和带色彩的二维码生成没问题,带logo的二维码和普通二维码一致,logo并没有加上去

从相册中选取照片识别二维码不成功

iOS10 6plus / Xcode 8 测试识别二维码不成功(不会crash)

NSArray *features = [detector featuresInImage:[CIImage imageWithCGImage:image.CGImage]];
初步判断是这个部分的问题,feature为nil,暂时没找到解决方法。

模拟器种运行报错

在模拟器中运行报错:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[AVCaptureSession addInput:] Can't add a nil AVCaptureInput'
*** First throw call stack:
怎么解决?

pop回扫描界面界面卡主

在展示扫描结果的界面,你这边对返回的处理是直接pop到根控制器,如果返回扫描界面,扫描界面会卡住,这是为什么呢?

[self setupSGQRCodeScanning];这句话位置有点问题

改到addTimer后边,还有一些需要完善的点,比如说扑捉到数据源为空的时候,也就是二维码源不是qr的一系列处理,其他人写的啊 根本看不成,lb的那个太难分了,2.2版本简直是sb,小伙你是最棒的

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.