CodeHunter 2.0.0

CodeHunter 2.0.0

测试测试过
语言语言 SwiftSwift
许可协议 MIT
发布时间最新发布2017年10月
SwiftSwift 版本4.0
SPM支持 SPM

Sean McNeil 维护。



  • Sean McNeil

CodeHunter

Version License Platform

它做什么

CodeHunter 是一个简单的插件项目,用于在 iOS 设备上创建任何类型的条形码扫描器。

系统需求

  • iOS 9.0+
  • 版本 3.x
  • XCode 10.x & Swift 4.2+

旧版本在哪里?

有一段时间我没有维护它,所以当我去更新事物时,一切都出了问题。由于没有任何东西愿意与任何东西交谈,我对与工具链战斗一天不感兴趣,重新开始是最简单的方法。

由于我必须注册一个新的Pod,因此现在必须使用Code_Hunter进行安装,而不是之前的CodeHunter。

安装

CodeHunter可以通过CocoaPods获取。要安装它,只需将以下行添加到您的Podfile中

pod 'Code_Hunter'

说明

导入框架

import CodeHunter

继承CodeHunterViewController

您必须继承CodeHunterViewController类到您的ViewController中,以便支持屏幕旋转等事件。

class ViewController: CodeHunterViewController

设置扫描仪

您可以使用以下命令设置一个默认的扫描会话,它将只针对QR码

setupCaptureSession()

如果您需要其他类型的条码,请在setupCaptureSession函数内部指定它

setupCaptureSession(.typePDF417)

您还可以设置多种类型

setupCaptureSession(.typePDF417, .type128)

还有一项可选值,让扫描仪等待进一步命令开始扫描

setupCaptureSession(autoStart: false, Barcode.type128)

然后您可以手动启动扫描仪

startSession()

委托

设置委托以便它可以响应事件

self.delegate = self

如果您实现了取消按钮,您还可以使用过渡委托

self.transitionDelegate = self

配置可接受的条形码

可以限制扫描仪接受的值,例如特定字符串、数字或其他任何可以通过正则表达式表示的值。

这接受任何数量的数字

matchCode(lettersAllowed: false, numbersAllowed: true)

关于长度值的重要提示

由于iOS处理正则表达式时无法处理大值(以及它们的实际应用),为了避免因这一点而导致的失败,数值被限制为Int16。

这接受0-20个小写字母,但不允许大写字母或数字

matchCode(lettersAllowed: true, allowCapitalLetters: false, numbersAllowed: false, minLength: 0, maxLength: 20)

这使用你定义的表达式。在这个例子中,它仅接受传统网页地址

matchCodeWithExpression(regularExpression: "((https|http)://)((\\w|-)+)(([.]|[/])((\\w|-)+))+")

这个会失败,因为最大长度为0,这会触发扫描器:error:委托方法

matchCode(lettersAllowed: true, allowCapitalLetters: false, numbersAllowed: false, minLength: 0, maxLength: 0)

这个会失败,因为最大长度大于最小长度,这会触发扫描器:error:委托方法

matchCode(lettersAllowed: true, allowCapitalLetters: false, numbersAllowed: false, minLength: 10, maxLength: 0)

边框

您可以为屏幕启用可选的边框。

提供默认值为20.0宽度、黑色和0.5不透明度的扫描器窗口边框。

setupBorder()

使用提供的宽度、颜色和不透明度值提供扫描器窗口边框。

setupBorder(width: 60.0, color: .gray, opacity: 0.6)

取消按钮

您可以将可选的取消按钮放置在屏幕底部。

您可以使用以下默认命令添加取消按钮。按下它将停止扫描并解散视图控制器。

setupCancelButton()

您可以使用自定义消息、标题颜色和边框参数修改取消按钮。按下它将终止扫描并关闭视图。

let cancelBorderProperties = CancelBorderProperties(borderColor: .black, borderWidth: 1.0, cornerRadius: 5.0)
setupCancelButton(title: "Cancel", titleColor: .red, cancelBorderProperties: cancelBorderProperties)

屏幕截图

对于截图,您可以提供一个图像,该图像将放置在任何启用边框或按钮的后面。

setupScreenshot(with: image)

处理相机访问限制

CodeHunter在设置期间以及开始扫描时会检查相机访问权限。如果拒绝访问,将返回CodeHunter.notAuthorized错误。

历史变更

历史变更 | 查看每个版本引入的更改。

作者

Sean McNeil

许可

CodeHunter采用MIT许可。有关更多信息,请参阅LICENSE文件。