Xcode Apple Pay - PKPaymentAuthorizationViewControllerDelegate 问题
Xcode Apple Pay - PKPaymentAuthorizationViewControllerDelegate issues
我正在尝试在我的应用程序中实施 Apple Pay。我什至在我的 ViewController.swift
文件中建立 PKPaymentAuthorizationViewControllerDelegate
时遇到问题。
大多数代码示例显示为:class ViewController: UITableViewController, PKPaymentAuthorizationViewControllerDelegate
这是我的代码:
class ApplePayVC: UIViewController, PKPaymentAuthorizationViewControllerDelegate {
那是因为您必须实现委托的一些功能。
需要两个函数:
paymentAuthorizationViewController(_:didAuthorizePayment:completion:)
paymentAuthorizationViewControllerDidFinish(_:)
您必须覆盖它们,然后错误将从 Xcode
中消失
只需添加以下功能
internal func paymentAuthorizationViewController(controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, completion: ((PKPaymentAuthorizationStatus) -> Void)) {
completion(PKPaymentAuthorizationStatus.Success)
}
internal func paymentAuthorizationViewControllerDidFinish(controller: PKPaymentAuthorizationViewController) {
controller.dismissViewControllerAnimated(true, completion: nil)
}
或
像这样创建一个新的 .swift 文件
import Foundation
extension UIViewController: PKPaymentAuthorizationViewControllerDelegate {
public func paymentAuthorizationViewController(controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, completion: ((PKPaymentAuthorizationStatus) -> Void)) {
completion(PKPaymentAuthorizationStatus.Success)
}
public func paymentAuthorizationViewControllerDidFinish(controller: PKPaymentAuthorizationViewController) {
controller.dismissViewControllerAnimated(true, completion: nil)
}
}
我正在尝试在我的应用程序中实施 Apple Pay。我什至在我的 ViewController.swift
文件中建立 PKPaymentAuthorizationViewControllerDelegate
时遇到问题。
大多数代码示例显示为:class ViewController: UITableViewController, PKPaymentAuthorizationViewControllerDelegate
这是我的代码:
class ApplePayVC: UIViewController, PKPaymentAuthorizationViewControllerDelegate {
那是因为您必须实现委托的一些功能。
需要两个函数:
paymentAuthorizationViewController(_:didAuthorizePayment:completion:)
paymentAuthorizationViewControllerDidFinish(_:)
您必须覆盖它们,然后错误将从 Xcode
中消失只需添加以下功能
internal func paymentAuthorizationViewController(controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, completion: ((PKPaymentAuthorizationStatus) -> Void)) {
completion(PKPaymentAuthorizationStatus.Success)
}
internal func paymentAuthorizationViewControllerDidFinish(controller: PKPaymentAuthorizationViewController) {
controller.dismissViewControllerAnimated(true, completion: nil)
}
或
像这样创建一个新的 .swift 文件
import Foundation
extension UIViewController: PKPaymentAuthorizationViewControllerDelegate {
public func paymentAuthorizationViewController(controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, completion: ((PKPaymentAuthorizationStatus) -> Void)) {
completion(PKPaymentAuthorizationStatus.Success)
}
public func paymentAuthorizationViewControllerDidFinish(controller: PKPaymentAuthorizationViewController) {
controller.dismissViewControllerAnimated(true, completion: nil)
}
}