CieloQrWallets
要求
- iOS 10.0+ / macOS 10.13+
- Xcode 10.2+
- Swift 5+
安装
- 将提供
CieloQrWallets.framework
文件,并将该文件导入 Xcode。
在项目导航器中点击您的项目名称,并选择“通用”选项卡,然后导航到“框架、库和嵌入内容”部分,点击 +
符号,找到并选择 CieloQrWallets.framework
文件,选择文件后点击“添加”按钮。
使用方法
QR码数据
在Cielo生成QR码时,需要获取QrCodeBase64Image和QrCodeId字段。更多详情,请点击此处。
配置
要使用SDK开始开发,需要在您的ViewController
中添加一个类型为CieloQrWalletProtocol的变量,如下所示
var cieloWallet: CieloQrWalletProtocol!
此协议只有一个合约需要实现,我们将在后续文档中详细介绍。
为了实例化cieloWallet
变量,我们将使用以下方法
cieloWallet = CieloQrWallet.instantiate(qrCodeBase64Image: "BASE64 DO QR CODE",
qrCodeId: "IDENTIFICADOR DO QR CODE",
uiMode: .dark,
delegate: self)
注意:uiMode
参数是类型为UIMode的enum,默认值为.light,因此可以在调用时省略,如下所示
cieloWallet = CieloQrWallet.instantiate(qrCodeBase64Image: "BASE64 DO QR CODE",
qrCodeId: "IDENTIFICADOR DO QR CODE",
delegate: self)
实例化cieloWallet
对象时,可以观察到需要在delegate
参数中提供一个值。此参数是实施方法返回的ViewController
的引用,该方法将在ViewController中显示可用的wallet。
为此参数正常工作,我们需要实现CieloQrWalletDelegate
委托,该委托负责显示可用的wallet。
要实现CieloQrWalletDelegate
的方法,只需要将您的ViewController与委托关联,如下所示
class ViewController: CieloQrWalletDelegate {
...
}
- 实现建议
extension ViewController: CieloQrWalletDelegate {
func showWalletOptions(with wallet: WalletViewProtocol) {
guard let alert = wallet as? UIViewController else { return }
present(alert, animated: true)
}
}
此showWalletOptions
方法将在sdk中显示的wallet以actionSheet格式显示一个UIAlertController
。