SMCodeScanner 0.3.1

SMCodeScanner 0.3.1

测试已测试
Lang语言 SwiftSwift
许可 MIT
Released最后发布2016年4月
SPM支持 SPM

Sean McNeil 维护。



SMCodeScanner

用法

要运行示例项目,请克隆仓库,然后首先在 Example 目录中运行 pod install

说明

要运行此 pod,您需要在您想处理扫描条形码的 UIViewController 类中包含以下内容

  • import SMCodeScanner
  • 让类继承 ScannerViewController
  • 从您的视图配置覆盖之一(didLoad、willAppear、didAppear)调用 super.setupCaptureSession()
  • 在调用 setupCaptureSession() 之后,添加以下 self.delegate = self
  • 然后添加 super.startSession()

接下来,您需要遵守允许您获取最终条形码值或错误消息的委托方法

extension YOUR_VIEWCONTROLLERS_CLASS_NAME: ScannerDelegate {

    func scanner(scanner: ScannerViewController, barcode: String) {
        // Handle barcode here
    }

    func scanner(scanner: ScannerViewController, error: NSError) {
        // Handle errors here
    }
}

选项

您有两个可以设置的选项

  • 要接受哪种类型的条形码或条形码。默认值是 QR
  • 条形码可以接受哪些值。默认值是所有

您通过在 setupCaptureSession 方法中提供一个类型从 Barcode 枚举来设置条形码值。以下值可用。

您通过匹配函数设置可接受值。有三个选项

  • 如果您不关心长度,只关心字符类型,使用:matchCode(lettersAllowed:allowCapitalLetters:numbersAllowed:)
  • 如果您需要一个特定的长度或值的范围,以及特定的字符类型,请使用:matchCode(lettersAllowed:allowCapitalLetters:numbersAllowed:minLength:maxLength:)
  • 如果这两个选项都不充分,您可以使用以下正则表达式提供您自己的表达式:matchCodeWithExpression(expression:)

条形码类型枚举

public enum Barcode : String {
case TypeUPCE
case Type39
case Type39Mod43
case TypeEAN13
case TypeEAN8
case Type93
case Type128
case TypePDF417
case TypeQR
case TypeAztec
case TypeInterleaved
case TypeITF14
case TypeDataMatrix
}

错误代码枚举

public enum ScannerError : Int {
case ScannerErrorMinGreaterThanMaxLength = -100
case ScannerErrorMaxLengthLessThanOne = -101
case ScannerErrorInvalidObject = -102
}

安装

SMCodeScanner 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod "SMCodeScanner"

作者

Sean McNeil, [email protected]

许可证

SMCodeScanner遵从MIT许可证。更多信息请参阅LICENSE文件。