SMScanner 0.1.0

SMScanner 0.1.0

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

Sean McNeil 维护。



SMScanner 0.1.0

SMScanner

使用说明

要运行示例项目,请克隆仓库,然后从 Example 目录运行 pod install

说明

要在这个 pod 中运行最基本的条件,需要在处理扫描条形码的 UIViewController 类中包含以下内容

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

接下来,您需要遵守允许获取最终条形码值或错误信息的代理方法:`extension YOUR_VIEWCONTROLLERS_CLASS_NAME: ScannerDelegate { func scanner(scanner: ScannerViewController, barcode: String) { // 处理条形码 aquí }

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 }

安装

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

pod "SMScanner"

作者

Sean McNeil,[email protected]

许可协议

SMScanner 可在 MIT 许可协议下使用。有关更多信息,请参阅 LICENSE 文件。