Wenn ich versuche, einen PKPaymentAuthorizationController mit present(completion: _)
zu präsentieren, schlägt es ohne weitere Informationen fehl.Apple Pay Authorization Controller kann nicht angezeigt werden
Hier ist, wie ich es bin präsentiert:
let paymentSummaryItems: [PKPaymentSummaryItem] = <HIDDEN>
let paymentRequest = PKPaymentRequest()
paymentRequest.paymentSummaryItems = paymentSummaryItems
paymentRequest.merchantIdentifier = <HIDDEN>
paymentRequest.merchantCapabilities = .capability3DS
paymentRequest.countryCode = "US"
paymentRequest.currencyCode = "USD"
paymentRequest.supportedNetworks = [.visa, .amex, .masterCard, .discover]
paymentRequest.requiredShippingAddressFields = [.email]
let paymentController = PKPaymentAuthorizationController(paymentRequest: paymentRequest)
paymentController.delegate = self
paymentController.present { success in
if success {
print("Presented payment controller")
} else {
print("Failed to present payment controller")
}
}
Jedes Mal, wenn ich versuche, erhalte ich die Meldung „Fehler Zahlung Controller präsentieren“, und keine Apple-Pay Authorization modal angezeigt wird.
Ich habe eine PKPaymentAuthorizationController.canMakePayments()
Prüfung hinzugefügt, und das gibt wahr zurück. Ich bin mir nicht sicher, was schief gehen könnte. Der gleiche Code (mit einem anderen merchantIdentifier
) funktioniert in meinen anderen Apple Pay-Projekten ohne Probleme.