Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用swift从ios应用程序调用apple钱包_Ios_Swift_Wallet_Passkit - Fatal编程技术网

如何使用swift从ios应用程序调用apple钱包

如何使用swift从ios应用程序调用apple钱包,ios,swift,wallet,passkit,Ios,Swift,Wallet,Passkit,每当用户在我的ios应用程序中单击“将卡添加到钱包”按钮时,我都希望显示“苹果钱包添加卡”页面。如何从ios应用程序调用苹果钱包。我在ios应用程序中启用了钱包功能,还为我的应用程序生成了钱包权利。如何使用swift使用PKAddPaymentPassViewControler。请给出一些想法注意:这仅适用于发卡机构。如果要重定向用户以添加付款方式,请使用该方法 对于发卡机构,您需要苹果公司颁发的特殊权利 您的应用程序必须包含此权限才能使用此类。 有关申请此权利的更多信息,请参阅卡 发行人部分位

每当用户在我的ios应用程序中单击“将卡添加到钱包”按钮时,我都希望显示“苹果钱包添加卡”页面。如何从ios应用程序调用苹果钱包。我在ios应用程序中启用了钱包功能,还为我的应用程序生成了钱包权利。如何使用swift使用PKAddPaymentPassViewControler。请给出一些想法

注意:这仅适用于发卡机构。如果要重定向用户以添加付款方式,请使用该方法

对于发卡机构,您需要苹果公司颁发的特殊权利

您的应用程序必须包含此权限才能使用此类。 有关申请此权利的更多信息,请参阅卡 发行人部分位于developer.apple.com/apple pay/

发件人:

PKAddPaymentPassViewController
需要
com.apple.developer.payment通行证设置
权限 应用程序的密钥。坏消息是,没有人可以提交带有 这项权利,因为它需要苹果公司的特别许可 “相信”是为银行等发卡机构保留的。如果你 相信你有资格,你需要直接联系苹果公司
苹果支付-inquiries@apple.com

您需要实现委托方法,并使用配置对其进行初始化

import UIKit
import PassKit

class ViewController: UIViewController, PKAddPaymentPassViewControllerDelegate {

  override func viewDidLoad() {
    super.viewDidLoad()
    if (!PKAddPaymentPassViewController.canAddPaymentPass()){
      // use other payment method / alert user
    }
    let config = PKAddPaymentPassRequestConfiguration.init(encryptionScheme: PKEncryptionScheme.ECC_V2)
    let addPaymentPassVC = PKAddPaymentPassViewController.init(requestConfiguration: config!, delegate: self)
    self.present(addPaymentPassVC!, animated: true, completion: nil)
  }

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

  }

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

}

嗨。我有一个疑问,如果我想在apple wallet中存储用户卡详细信息,我可以从apple获得许可,还是可以在我的应用程序中添加权限。当用户从我的应用程序中单击添加卡按钮时,是打开钱包应用程序还是自己自定义页面。谢谢如果我理解正确,您需要特殊权限才能向apple pay添加卡。查看此线程:您不会自己创建页面,卡片将从Wallet应用程序或Apple管理的区域添加。我的问题是当用户单击addcards按钮,然后重定向到Apple Wallet以添加卡片详细信息时?可能吗?嗨。我在self.present(addPaymentPassVC!,动画:true,完成:nil)上遇到错误,即线程1:致命错误:在展开可选值时意外发现nil。addPaymentPassVC存储nill值。
initWithRequestConfiguration
如果您没有Apple的特殊权限,将返回nil。