簡體   English   中英

Xcode Apple Pay-PKPaymentAuthorizationViewControllerDelegate問題

[英]Xcode Apple Pay - PKPaymentAuthorizationViewControllerDelegate issues

我正在嘗試將Apple Pay實施到我的應用程序中。 PKPaymentAuthorizationViewControllerDelegate至在我的ViewController.swift文件中建立PKPaymentAuthorizationViewControllerDelegate時遇到問題。

大多數代碼示例將其顯示為: class ViewController: UITableViewController, PKPaymentAuthorizationViewControllerDelegate

這是我的代碼:

class ApplePayVC: UIViewController, PKPaymentAuthorizationViewControllerDelegate {

碼

那是因為您必須實現委托的某些功能。

請參閱Apple文檔: https : //developer.apple.com/library/prerelease/ios/documentation/PassKit/Reference/PKPaymentAuthorizationViewControllerDelegate_Ref/index.html

需要兩個功能:

  • 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)
    }
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM