我正在实施苹果应用内配置,我可以通过我的 iPhone 和 Watch 应用将信用卡添加到苹果钱包。而且我能够获得所有这些通行证并与它们一起工作......但是当我想删除其中一个时,什么也没发生
这就是我玩删除的方式
...
let passLib = PKPassLibrary.init();
let passesTest = passLib.passes();
let passToRemove = passesTest[0];
passLib.removePass(passToRemove)
...
passLib.passes();
返回我在钱包中的所有通行证并且与我的应用程序相关我选择一个并尝试将其删除......但没有任何反应。通行证还在,卡还在钱包里
有什么建议吗?
更新
我应该是entitlements
正确的,因为我可以将卡添加到钱包中,这是一个权利列表:
这是我想要实现的逻辑......它是一个 React-Native 模块:
@objc
func removePass(_ data: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
let passTypeIdentifier = data["passTypeIdentifier"] as! String
let serialNumber = data["serialNumber"] as! String
let passToRemove = passLib.pass(withPassTypeIdentifier:
passTypeIdentifier, serialNumber: serialNumber)
passLib.removePass(passToRemove)
resolve(true)
}
我得到的通行证passLib.passes();
看起来像这样
<PKPaymentPass: 0x10611eba0>
(为了便于阅读,我必须对其进行字符串化)
[ { localizedName: 'Pass',
serialNumber: 'nc.prod.cert_efdeb2c6048c468ba6a941a063ce4345',
passURL: 'shoebox://card/Nc4q8dwnXB1CGYG-YQRH4bIdhO4=',
deviceName: 'iPhone',
passType: 1,
organizationName: 'Name Bank',
localizedDescription: 'Name Mastercard Gold',
isRemotePass: false,
relevantDate: null,
authenticationToken: null,
webServiceURL: null,
passTypeIdentifier: 'paymentpass.com.apple' } ]
更新 我还尝试从 Testflight 版本中删除此卡,但它不起作用...删除函数不返回任何内容