【问题标题】:How can I know if user is add thir card to iPhone wallet or Apple Watch wallet?我如何知道用户是否将此卡添加到 iPhone 钱包或 Apple Watch 钱包?
【发布时间】:2020-05-27 16:38:13
【问题描述】:

当用户将卡片添加到 iPhone 时,我需要隐藏添加到 Apple Wallet 按钮,但仅在将卡片添加到手表时将其保留在屏幕上。我正在研究方法

func addPaymentPassViewController(_ controller: PKAddPaymentPassViewController, didFinishAdding pass: PKPaymentPass?, error: Error?)

但我找不到在哪里可以看到该卡已添加到哪个设备

【问题讨论】:

    标签: ios apple-watch swift5 applepay wallet


    【解决方案1】:

    您可以使用PKLibrarypasses()函数获取用户iPhone钱包中的卡,然后检查该卡是否存在。要获取手表钱包中的卡片,请使用remotePaymentPasses()

    请注意,您的应用必须有权查看相关卡片,否则返回的数组中将不存在该卡片。我找不到太多关于这方面的文档,所以我与 Apple 开了一个 TSI 来尝试获取更多信息。 Apple Pay Wallet 团队的某个人回复了我,他们是这样说的:

    如果应用有权查看卡片,则可以通过 PKPassLibrary 进行查询 - 使用 [PKPassLibrary -passesOfType] 获取设备本地的卡片,或使用 [PKPassLibrary -remotePaymentPasses] 获取配对手表上的卡片。 我们建议应用使用这些方法检查他们的支付凭证是否已经在设备上,并使用该信息隐藏添加到钱包按钮。 请注意,这确实需要应用程序有权查看付款通行证。这通常由发卡机构处理,因此请仔细检查发卡机构是否将付款通行证的关联应用 ID 设置为应用。

    仍然不能完全回答我的所有问题,但我建议与发卡机构联系(这是我将要采取的下一步)。

    【讨论】:

    • 如果用户根本没有 Apple Watch 怎么办? remotePaymentPasses() 如果用户有苹果手表但没有在手表钱包上添加卡,或者用户根本没有手表,则返回一个空数组
    猜你喜欢
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    • 2014-11-14
    相关资源
    最近更新 更多