SCTqrScanner
SCTqrScanner 读取专为 SEPA 信用转账创建的特殊二维码。扫描读取器返回 QR 代码中的信息到特殊 SCTqrResult。此结果包含名称和强制性字段 IBAN(必填字段)、bic、金额、目的、汇款或参考(可选字段)
需求
- iOS 10.0+
- Xcode 10.1+
- Swift 4.2+
屏幕
安装
CocoaPods
CocoaPods 是一个用于 Cocoa 项目的依赖管理器。有关使用和安装说明,请访问他们的网站。要使用 CocoaPods 将 SCTqrScanner 集成到您的 xCode 项目中,请在您的 Podfile
中指定它
pod 'SCTqrScanner'
将依赖安装到您的项目中
$ pod install
在 xCode 中从 .xcworkspace 文件打开您的项目(而不是常规的项目文件)
$ open MyProject.xcworkspace
现在您可以将 import SCTqrScanner
框架导入到您的文件中。
Carthage
- 通过运行
brew install carthage
来获取Carthage - 在包含您的
.xcodeproj
或.xcworkspace
文件的同一目录下创建一个Cartfile
touch Cartfile
- 在Cartfile中列出所需的依赖项,例如
gitHub "csikigeza/SCTqrScanner"
- 运行
carthage update
- 将在有您的
.xcodeproj
或.xcworkspace
文件的同一目录下出现一个Cartfile.resolved
文件和一个Carthage
目录 - 将构建的
.framework
二进制文件从Carthage/Build/<platform>
拖动到您的应用程序的Xcode项目中 - 在应用程序目标的构建阶段设置选项卡上,单击+图标并选择新运行脚本阶段。创建一个运行脚本,在其中指定您的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许可证发布。有关详细信息,请参阅授权条款。