SharkCardScan

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 以及当前版本。

  1. 在 Xcode 中,选择 “File” → “Swift Packages” → “Add Package Dependency”
  2. 输入 https://github.com/gymshark/ios-card-scan.git