您可以创建一个 PKPassLibrary 并获取类型为“支付卡”的通行证的 PKPass 数组。然后循环遍历 PKPass 数组,检查其主帐户标识符或卡后缀以查看该卡是否已添加,然后相应地更改您的 UI。
在斯威夫特中:
let passLibrary = PKPassLibrary.init()
let paymentPasses = passLibrary.passes(of: .payment) // get PKPass array of payment card
for pass in paymentPasses {
guard let paymentPass = pass.paymentPass else { return }
// or check by suffix paymentPass.primaryAccountNumberSuffix
if paymentPass.primaryAccountIdentifier == "yourCardAccountIdentifier" {
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
在 Objective-C 中:
PKPassLibrary *passLibrary = [[PKPassLibrary alloc] init];
NSArray<PKPass *> *paymentPasses = [passLibrary passesOfType:PKPassTypePayment];
for (PKPass *pass in paymentPasses) {
PKPaymentPass * paymentPass = [pass paymentPass];
if([paymentPass primaryAccountIdentifier] == @"yourCardAccountIdentifier") {
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
并且不要忘记在您的项目中包含 com.apple.developer. payment-pass-provisioning 权利。希望这对您有帮助;)
根据文档 PKPassLibrary 有一个名为 containsPass() 的方法
检查此处: https ://developer.apple.com/documentation/passkit/pkpasslibrary/1617110-containspass
| 归档时间: |
|
| 查看次数: |
6056 次 |
| 最近记录: |