【发布时间】:2015-09-08 18:52:52
【问题描述】:
我正在开发一个应用程序,并且有一个问题。我的应用程序即时创建通行证,可以选择将它们添加到您自己的存折中,或者通过电子邮件将它们发送给其他用户,以便他们可以将其添加到他们的存折中。我想添加一个选项,用户可以单击按钮,查看他们的存折中是否存在具有应用程序 PassID 的任何通行证,并显示它。应用程序是否可以检查存折中现有的通行证?
【问题讨论】:
我正在开发一个应用程序,并且有一个问题。我的应用程序即时创建通行证,可以选择将它们添加到您自己的存折中,或者通过电子邮件将它们发送给其他用户,以便他们可以将其添加到他们的存折中。我想添加一个选项,用户可以单击按钮,查看他们的存折中是否存在具有应用程序 PassID 的任何通行证,并显示它。应用程序是否可以检查存折中现有的通行证?
【问题讨论】:
只要您的应用拥有特定 passTypeIdentifier 的权利,那么:
使用passes method of the PKPassLibrary class 获取所有通行证 您的应用有权访问。通行证以 任意顺序。如果您的应用程序显示通行证列表,它应该排序 以某种有意义的方式(例如按日期)。
【讨论】:
我要做的就是用passWithPassTypeIdentifier:serialNumber:检查通行证是否存在,然后如果用户愿意,你可以用openURL打开它。
我通过循环循环编写了一个快速调试示例:
//get all passes
let passes = PKPassLibrary.init().passes();
//loop is not the best prefer passWithPassTypeIdentifier:serialNumber:
//but it is usefull for debuging
for pass in passes {
//1) test the pass you want to
//2) if found, prompt user if they want to open this pass
//3) if yes, open PassBook with the following command :
UIApplication.sharedApplication().openURL(pass.passURL)
}
【讨论】:
【讨论】: