1

アプリケーションに Apple Pay を実装しようとしています。PKPaymentAuthorizationViewControllerDelegateファイルに を確立することさえできませんViewController.swift

ほとんどのコード サンプルでは、​​次のように示されています。class ViewController: UITableViewController, PKPaymentAuthorizationViewControllerDelegate

これが私のコードです:

class ApplePayVC: UIViewController, PKPaymentAuthorizationViewControllerDelegate {

コード

4

2 に答える 2

7

これは、デリゲートの関数の一部を実装する必要があるためです。

Apple ドキュメントを参照してください: https://developer.apple.com/library/prerelease/ios/documentation/PassKit/Reference/PKPaymentAuthorizationViewControllerDelegate_Ref/index.html

2 つの関数が必要です。

  • paymentAuthorizationViewController(_:didAuthorizePayment:completion:)
  • paymentAuthorizationViewControllerDidFinish(_:)

それらをオーバーライドする必要があります。その後、エラーは Xcode から消えます。

于 2015-06-17T20:04:37.163 に答える
0

次の関数を追加するだけです

    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)
    }
  }
于 2016-06-28T20:53:52.583 に答える