Robocop 1.0.0

Robocop 1.0.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布上次发布2014年12月

未认领 维护。



Robocop 1.0.0

  • David Hernandez

这是阅读各种 AVMetadataObjectType 对象(如 EAN13、QR Code、Aztec Codes 等)及甚至 面部检测,以及其他条形码的最公平、最智能和最简单的方法,只需 iOS 7+ 设备的 一个方法调用

默认情况下,Robocop 已经设置为直接读取 QR Code。

安装

  1. 通过 Cocoapods 插件的方式是首选的安装方法。只需将以下代码添加到您的 Podfile 中并运行 pod install
pod 'Robocop'

它会安装 Robocop 的最新版本。

或者,您可以复制 Classes/ 目录下的所有文件到您的项目中。请确保已检查 '将项复制到目标组文件夹'。

最佳功能

Blocks!!

代码读取器处理程序

typedef void (^RobocopCodeReaderHandler)(NSString *machineCodeString);

您将得到一个回调,同时还有读取到的代码的字符串表示。

感兴趣区域的处理程序

typedef void (^RobocopRectOfInterestHandler)(CGRect rectOfInterest);

您将得到一个 CGRect,它表示图片中对象(包括条形码/面部)的边界矩形。

基本用法

  1. 导入头文件: #import "Robocop.h"
  2. 设置 QR 读取器并开始读取
[[Robocop sharedInstance]
        startReadingInView:self.view 
        readerHandler:^(NSString *machineCodeString) {
            NSLog(@"Code: %@", machineCodeString);
        } rectOfInterestHandler:^(CGRect rectOfInterest) {
            // The rect for the barcode being read
            // See code example to know how to add a highlight layer using this rect on top of your preview
            NSLog(@"%@", NSStringFromCGRect(rectOfInterest));
        }];
  1. 这就是全部!

屏幕截图

简单用法: iPhone Screenshot 1

可用方法

如何读取其他类型的机器码(包括面部检测)

- (void)startReadingMachineReadableCodeObjects:(NSArray *)codeObjects
                                        inView:(UIView *)preview
                                        readerHandler:(DHCodeReaderHandler)readerHandler
                                        rectOfInterestHandler:(DHReaderRectOfInterestHandler)rectOfIntesetHandler;

使用此方法传递包含您希望读取器能够区分的 AVMetadataObjectType 对象的数组。

例如

NSArray *codeTypes = @[AVMetadataObjectTypeFace, AVMetadataObjectTypeEAN13Code, AVMetadataObjectTypeQRCode];

以下是使用上述提到的数组使用该方法的示例

[[Robocop sharedInstance]
     startReadingMachineReadableCodeObjects:codeTypes
     inView:self.view
     readerHandler:^(NSString *machineCodeString) {
         NSLog(@"Code: %@", machineCodeString);
    } rectOfInterestHandler:^(CGRect rectOfInterest) {
        NSLog(@"%@", NSStringFromCGRect(rectOfInterest));
    }];

您可以读取的所有代码类型均在 AVFoundation/AVMetadataObject.h 中声明

如何读取所有可用的代码类型(快捷方式)

如果您想检测所有类型的代码,只需将上述方法的 codeObjects 数组传递为 nil

[[Robocop sharedInstance]
     startReadingMachineReadableCodeObjects:nil
     inView:self.view
     readerHandler:^(NSString *machineCodeString) {
         NSLog(@"Code: %@", machineCodeString);
    } rectOfInterestHandler:^(CGRect rectOfInterest) {
        NSLog(@"%@", NSStringFromCGRect(rectOfInterest));
    }];

如何停止读取器

- (void)stop;

很简单,对吧?

贡献

当然,请发送 pull-request 或者提出问题。了解如何改进事物总是好事,耶!

作者

David Hernandez ([email protected])

许可证

Robocop 在 MIT 许可证之下。