【问题标题】:Cannot get correct value from pkPassLibrary.CanAddPaymentPass in Xamarin.iOS无法从 Xamarin.iOS 中的 pkPassLibrary.CanAddPaymentPass 获取正确的值
【发布时间】:2020-08-07 08:53:06
【问题描述】:

我正在我的 Xamarin.iOS 应用中实施应用内预配,但无法从 pkPassLibrary.CanAddPaymentPass 方法获得正确响应。

如果客户已经将他们的卡添加到他们的 Apple Wallet,这会告诉您的应用程序,以便您可以禁用该按钮。

复制步骤

这有点难以复制,因为它需要 Apple 的授权。但它的基础是:

  1. 创建 iOS 项目
  2. 添加 com.apple.developer.payment-pass-provisioning 权利
  3. 添加检查以查看用户是否可以添加 PaymentPass:
var pkPassLibrary = new PKPassLibrary();
var canAddPass = pkPassLibrary.CanAddPaymentPass(primaryAccountIdentifier);
  1. 部署到 testFlight(PKPassLibrary 仅适用于 testFlight)
  2. 将您的卡添加到 Apple Wallet。
  3. 返回查看“添加到 Apple Wallet”按钮是否因为 pkPassLibrary.CanAddPaymentPass 的结果而被禁用

预期行为

pkPassLibrary.CanAddPaymentPass 应该告诉我用户 a 是否无法将付款通行证添加到他们的 Apple 钱包

实际行为

pkPassLibrary.CanAddPaymentPass 总是返回 true,因此什么也没告诉我。

我是在初始化 PKPassLibrary() 错误还是什么?有什么方法可以检查这是否是 Xamarin 中的错误?

【问题讨论】:

    标签: ios xamarin xamarin.ios applepay passkit


    【解决方案1】:

    我确实找到了问题。对于那些追随我的人,您确实需要确保向您的支付提供商(签证、万事达卡等)注册您的associatedApplicationIdentifiers。 Apple 只会让您知道与您的应用相关联的付款通行证。该关联是在签证/万事达卡/等方面创建的,并通过panReferenceId 进行通信。

    【讨论】:

    • 嘿尼克,您是否还需要添加权利 com.apple.developer.pass-type-identifiers 才能使其正常工作?入门指南并没有真正提到这是一项要求?
    • 如果有人想知道我的上述问题。不 - 你并不明确需要钱包权利/com.apple.developer.pass-type-identifiers。 - 常规的应用内配置权利就足够了com.apple.developer.payment-pass-provisioning.
    猜你喜欢
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 2016-04-05
    • 2021-06-11
    • 1970-01-01
    • 2017-07-05
    相关资源
    最近更新 更多