SCTqrScanner 1.1.0

SCTqrScanner 1.1.0

维护者 Geza Csiki.



  • Geza Csiki

Logo

SCTqrScanner

SCTqrScanner 读取专为 SEPA 信用转账创建的特殊二维码。扫描读取器返回 QR 代码中的信息到特殊 SCTqrResult。此结果包含名称和强制性字段 IBAN(必填字段)、bic、金额、目的、汇款或参考(可选字段)

xCode Swift License Platform Carthage compatible

需求

  • iOS 10.0+
  • Xcode 10.1+
  • Swift 4.2+

屏幕

Screen2 Screen3 Screen4

安装

CocoaPods

CocoaPods 是一个用于 Cocoa 项目的依赖管理器。有关使用和安装说明,请访问他们的网站。要使用 CocoaPods 将 SCTqrScanner 集成到您的 xCode 项目中,请在您的 Podfile 中指定它

pod 'SCTqrScanner'

将依赖安装到您的项目中

$ pod install

在 xCode 中从 .xcworkspace 文件打开您的项目(而不是常规的项目文件)

$ open MyProject.xcworkspace

现在您可以将 import SCTqrScanner 框架导入到您的文件中。

Carthage

  1. 通过运行brew install carthage来获取Carthage
  2. 在包含您的.xcodeproj.xcworkspace文件的同一目录下创建一个Cartfile
touch Cartfile
  1. 在Cartfile中列出所需的依赖项,例如
gitHub "csikigeza/SCTqrScanner"
  1. 运行carthage update
  2. 将在有您的.xcodeproj.xcworkspace文件的同一目录下出现一个Cartfile.resolved文件和一个Carthage目录
  3. 将构建的.framework二进制文件从Carthage/Build/<platform>拖动到您的应用程序的Xcode项目中
  4. 在应用程序目标的构建阶段设置选项卡上,单击+图标并选择新运行脚本阶段。创建一个运行脚本,在其中指定您的shell(例如/bin/sh),将以下内容添加到shell下面的脚本区域
/usr/local/bin/carthage copy-frameworks
  • 在“输入文件”下添加您要使用的框架的路径。例如
$(SRCROOT)/Carthage/Build/iOS/SCTqrScanner.framework
  • 将复制的框架的路径添加到“输出文件”中。例如
$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/SCTqrScanner.framework

用法

从iOS10开始,您需要从用户那里获得相机使用的权限。为此,您需要在Info.plist文件中添加 隐私 - 相机使用描述 字段(NSCameraUsageDescription)。

在您想要使用SCTqrScanner的ViewController上创建自己的codeReader和videoLayer属性。

private var codeReader = SCTqrScanner()
private var videoLayer: CALayer!

您还需要为相机预览添加IBOutlet。

@IBOutlet weak var videoPreview: UIView!

在viewWillAppear中启动SCTqrScanner,并处理响应。

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    codeReader.startReading { [weak self] (qrResult) in
            //TODO: use response
    }
}

如果QR码不符合欧洲支付委员会(European Payments Council)定义的SEPA信用转账标准(查看SCT标准),则qrResult可以为nil。否则,响应具有SCTqrResult类型。

SCTqrResult包含必填的名称和iban。

在viewDidload中将相机预览分配到您的视图中。

override func viewDidLoad() {
    super.viewDidLoad()
    videoLayer = codeReader.videoPreview
    videoPreview.layer.addSublayer(videoLayer)
}

授权条款

SCTqrScanner采用MIT许可证发布。有关详细信息,请参阅授权条款