【发布时间】:2018-01-31 12:55:53
【问题描述】:
您可以更新已安装的 iOS 钱包通行证的序列号吗?
钱包开发者指南声明您可以更新钱包通行证的某些字段,但没有说明您是否可以更新任何字段。另外我知道序列号是用来发送更新通知的,那么,更改序列号会破坏更新过程吗?
我没有使用 Wallet Developer Guide 找到答案。有人可以帮帮我吗?
【问题讨论】:
标签: ios serialization coupon wallet
您可以更新已安装的 iOS 钱包通行证的序列号吗?
钱包开发者指南声明您可以更新钱包通行证的某些字段,但没有说明您是否可以更新任何字段。另外我知道序列号是用来发送更新通知的,那么,更改序列号会破坏更新过程吗?
我没有使用 Wallet Developer Guide 找到答案。有人可以帮帮我吗?
【问题讨论】:
标签: ios serialization coupon wallet
底线是没有。 documentation 只列出了 2 个不能更改的字段; serialNumber 和 passTypeIdentifier。这两个字段的组合创建了一个唯一密钥,该密钥用于许多内部和外部 API,以明确识别钱包中的通行证。
使用通行证类型标识符和序列号的组合 整个 PassKit 以唯一地识别通行证。两次通过相同的 相同序列号的类型被理解为相同的通行证, 即使关于它们的其他信息不同。例如,当通行证是 更新了,新版本的pass type identifier和serial一样 编号为旧版本,所以新版本替换旧版本 版本。
如果您的 Web 服务返回的序列号与 Getting the latest Version of a Pass 请求中请求的序列号不同,则设备将拒绝该传递。
对您开放的唯一选择是使用新序列号安装新通行证并删除旧通行证。如果您通过应用程序进行交互,则可以自动执行此操作(尽管仍需要用户操作来安装更新的通行证),如果不是,则需要指导您的用户完成该过程。
【讨论】:
bundleID 用于识别 pass 属于哪个 App。SerialNumber 用于识别需要更新或更改的 pass。
每个应用程序可以有多个通行证,为了区分它们,我们使用序列号。您无法更改序列号easily。我的意思是,您可以将通行证安装为具有新序列号的新通行证并删除旧的通行证(如上面的附加逻辑,将需要您的应用程序的新版本)。就是这样。您不能只更改序列号。
当前不起作用的一个选项是更新旧通行证并设置到期日期。
【讨论】: