在苹果钱包中添加多重通行证

时间:2019-04-22 11:45:04

标签: ios wallet passkit

我的应用要求在苹果钱包中添加多个通行证(一组通行证)

我有PKAddPassesViewController,它有一个添加多个通道的方法,但是添加之后,它只显示1个通道。

//destinationURLs are download file URL
let pkfile1 : Data = try! Data(contentsOf: destinationURL1)
let pkfile2 : Data = try! Data(contentsOf: destinationURL2)
var pkPasses = [PKPass]()
let pass : PKPass = PKPass(data: pkfile1 as Data, error: nil)
let pass1 : PKPass = PKPass(data: pkfile2 as Data, error: nil)
pkPasses.append(pass)
pkPasses.append(pass1)

let vc = PKAddPassesViewController(passes: pkPasses) as PKAddPassesViewController
vc.delegate = self
appDelegate.window?.rootViewController!.present(vc, animated: true, completion: nil)

使用此代码,我只能得到1个格式正确的图形

我的PKAddPassesViewController通道的屏幕截图

1 个答案:

答案 0 :(得分:1)

查看您的代码,pass和pass1包含相同的数据。

您在上面的评论中解释了为什么您只看到一个通行证,因为通行证由证书和序列号唯一索引。

钱包不允许2个具有相同索引的遍,因此您的第二遍很可能会覆盖您的第一遍。生成第二次通过时,请使用其他序列号,这样就不会有问题。