创建之类的操作暂时省略
在PKAddPassesViewControllerDelegat
中只有一个方法 addPassesViewControllerDidFinish(_ controller: PKAddPassesViewController)
。
当创建了PKAddPassesViewController后,点击左上角取消或者右上角添加时会触发的回调,这里是用来关闭PKAddPassesViewController的,默认效果就是dismiss。
这里没有提供额外信息让我们知道用户是点击了
关闭
还是添加
。
但是可以通过查询该pass是否存在于PKPassLibrary,来间接检测之前用户点击的是添加还是取消。如果该pass在之前已经被添加过,这样处理来判断就不是很合适了。
func addPassesViewControllerDidFinish(_ controller: PKAddPassesViewController) {
guard pass != nil else { return }
let library = PKPassLibrary.init()
if library.containsPass(pass!) {
print("添加")
} else {
print("取消")
}
controller.dismiss(animated: true, completion: nil)
}
网友评论