数据到字符串的 UTF-8 编码格式转换返回 nil 在 PKAddPaymentPassViewControllerDelegate's generateRequestWithCertificat



我正在实现苹果钱包,我需要将卡添加到钱包中。我正在尝试转换我在addPaymentPassViewController(_:generateRequestWithCertificateChain:nonce:nonceSignature:completionHandler:(中收到的证书,nonceSignature和nonceSignature,从"Data"转换为以"UTF8"格式编码的字符串。

但是,在使用 utf8 编码格式从数据转换为字符串时,转换返回 nil。

请找到附加的图像。我已经突出显示了转换失败的地方

有人可以帮我确定出了什么问题吗?

class ViewController: PKAddPaymentPassViewControllerDelegate {
func addPaymentPassViewController(_ controller: PKAddPaymentPassViewController, generateRequestWithCertificateChain certificates: [Data], nonce: Data, nonceSignature: Data, completionHandler handler: @escaping (PKAddPaymentPassRequest) -> Void) {

var encodedCertificateString = ""
for index in 0..<certificates.count {
if let encodedCertString = String(data: certificates[index], encoding: .utf8) {
encodedCertificateString.append(encodedCertString)
if index != (certificates.count-1) {
encodedCertificateString.append(", ")
}
}
}
}

func addPaymentPassViewController(_ controller: PKAddPaymentPassViewController, didFinishAdding pass: PKPaymentPass?, error: Error?) {
controller.dismiss()
}
} 

它不是 utf8 编码的字符串(DER 编码的 X.509 证书(,因此您的调用失败。您必须下载根 CA 才能验证链。

相关内容

  • 没有找到相关文章

最新更新