SharkCardScan 是一个使用 Apple Vision Framework 构建的信用卡/借记卡扫描器。
SharkCardScan 允许您在自己的应用程序中快速实现银行卡扫描功能。
SharkCardScan 由 Gymshark 工程团队充满热情地构建和维护 💙📱
可以使用以下代码片段快速开始。
let scannerVC = SharkCardScanViewController(viewModel: CardScanViewModel(noPermissionAction: { [weak self] in
self?.showNoPermissionAlert()
}, successHandler: { (response) in
print("Expiry 💣: \(response.expiry ?? "")")
print("Card Number 💳: \(response.number)")
print("Holder name 🕺: \(response.holder ?? "")")
}))
这里我们处理来自 ViewModel
的 "无相机权限" 错误,并且在收到卡号、有效期和持卡人姓名后会调用我们的 successHandler。 但是,即使只找到有效的卡号,我们也可以调用 success。
SharkCardScanViewController
初始化器带有一个用于样式的默认参数,如果您希望修改字体/颜色,可以指定您自己的样式。
SharkCardScanViewController(viewModel: CardScanViewModel{...}, styling: MyOwnCardScannerStyling())
CardScanStyling
是一个协议,您的样式结构必须遵循该协议,并设置以下属性;
public protocol CardScanStyling {
var instructionLabelStyling: LabelStyling { get set }
var cardNumberLabelStyling: LabelStyling { get set }
var expiryLabelStyling: LabelStyling { get set }
var holderLabelStyling: LabelStyling { get set }
var backgroundColor: UIColor { get set }
}
注意:通过使用默认参数并使用我们的 DefaultStyling
结构实例,字体目前只有固定大小,而不是动态的——这是我们稍后需要修复的问题(或者向我们发送PR?!)。
CardScanViewModel
有一个 instructionText
属性,如果您希望覆盖查看器上显示的默认说明文本,可以使用它。
Swift Package Manager (SPM) 要使用 Swift Package Manager 安装 SharkCardScan,您可以按照 Apple 发布的教程,使用 SharkCardScan 仓库的 URL 以及当前版本。