Ios6 我可以对许多用户使用具有相同序列号和相同passTypeID的1个pass吗?

Ios6 我可以对许多用户使用具有相同序列号和相同passTypeID的1个pass吗?,ios6,passbook,Ios6,Passbook,我动态创建一个通行证。每个过程都有一些不同的内容,如主字段、次字段,但所有过程都有相同的序列号和passTypeID,这样做对吗 是的,serialNumber和PassTypeIdentifier可以是相同的,即使每个过程有不同的内容。然而,有两件事需要考虑。 存折在任何时候只允许使用相同的serialNumber和passTypeIdentifier组合传递一次。这意味着,如果用户A安装了一个密码,其中包含name的primaryField键,该键的值为Malin,则用户A尝试安装第二个密码

我动态创建一个通行证。每个过程都有一些不同的内容,如主字段、次字段,但所有过程都有相同的序列号和passTypeID,这样做对吗

是的,
serialNumber
PassTypeIdentifier
可以是相同的,即使每个过程有不同的内容。然而,有两件事需要考虑。 存折在任何时候只允许使用相同的
serialNumber
passTypeIdentifier
组合传递一次。这意味着,如果用户A安装了一个密码,其中包含
name
primaryField
键,该键的值为
Malin
,则用户A尝试安装第二个密码,该密码包含
name
primaryField
键,该键的值为
Nick
,然后,Passbook会将此视为原始通行证的更新,并将
Marlin的
通行证替换为
Nick的
通行证

使用相同的
serialNumber
PassTypeIdentifier
可能有好处,因为它可以防止用户在单个设备上加载同一密码的多个副本。但有时这可能不是你所需要的(例如,父母希望同时持有自己和孩子的登机牌)

如果使用相同的序号,则需要考虑如何唯一地标识数据库中的PASS记录。你不希望出现这样的情况,即积分

Malin的
1000分通过,同时积分也是其他人的通过


我们使用
authenticationToken
作为唯一的密钥,因为它是在的4个过程相关方法(注册、注销和刷新)中的3个方法中提供的。不幸的是,在获取与设备关联的通行证序列号的
方法中没有提供它,因此我们将authenticationToken添加到设备表中以提供公共密钥,以便检查通行证记录是否已更新。

谢谢!我会考虑是否改变!如果用户将通行证共享给他们的朋友之一,他们朋友的设备是否具有相同的身份验证令牌和序列号?是的,它具有相同的身份验证令牌和序列号-通行证是相同的克隆。如果pass通过iCloud与其他设备同步,则同样适用。