在运行时创build证书和传递typesID

我的存折相关的应用程序最近拒绝根据准则23.3:

23.3:通行证必须由将以自己的名字,商标或品牌分发通行证的实体签署,否则应用程序将被拒绝,并可能撤销存折凭证

我有几个问题,并与苹果公司的人打电话。 他们告诉我,要解决我的问题,我可以在我的应用程序中创build一个registry单。 然后,可以使用此registry单来创build证书,并根据用户的凭据为用户传递typesID。 但是,我一直在梳理文档,并且没有发现任何允许人们在没有付费开发者成员的情况下创build传递typesID或证书的任何事情。 这是否正确, 我的用户是否需要付费开发者会员才能创build自己的Pass Type ID?

如果他们不这样做,是否可以在运行时创build一个PassType ID? 例如,使用registry单中的信息,我可能会使用PassKit /某种Passbook服务器创buildAPI请求来创buildPass Type ID:

PassID *ID = [PassKit createIDWithName:@"USER_INFO"]; 

有没有这样的事情呢,还是苹果技术人员在谈论其他事情?

我的用户是否需要付费开发者会员才能创build自己的Pass Type ID?

这听起来很疯狂 – 是的! 完全满足本指南的唯一方法就是支付苹果税,并以开发者身份注册。 苹果开发者论坛中有几条长篇post讨论了这个问题的推理和含义。 虽然不受欢迎,但我们大多数人都承认,这有很好的理由,从长远来看,将会保护平台的完整性(以及保持苹果律师在短期内的快乐)。

主要原因是因为在大多数的司法pipe辖区; 优惠券,机票,旅行证件和其他典型的存折内容对发行人有约束力。 在法律上,如果不履行,发证人应对消费者负责。 为了保护自己,苹果公司需要确保在任何情况下都不能被视为任何存折通行证的发行人。

苹果开发者计划注册validation被接受的任何个人或公司的身份。 它还要求开发人员签署开发人员协议的条款,该协议具有完整的附件,专门用于您可以和不可以使用Passbook和PassID证书。 这就为苹果提供了足够的法律保护,防止任何与Passbook通行证有关的未履行货物或服务的索赔。

尽pipe出现了很多反弹,并要求以美国为中心的更快速的stream程(你不会相信为美国以外的小型实体申请DUNS号码是多么的困难),但我不认为这会改变任何时间很快。

至于自动configuration。 自从iOS6发布之前,我自己和其他主要Passbook平台的创build者一直在呼吁。 我有一个date为8月7日的开放式雷达,要求一个简单的API来颁发和撤销Pass Type ID证书。 我很感兴趣的是你的苹果技术人员所指的是,据我所知,没有这种服务。

 // rant 

令人沮丧的是,有许多批准的应用程序允许全程自定义,但在App开发人员证书下颁发通行证。

苹果似乎也对某些在自己的证书上签发了带有主要品牌标识和商标的服务视而不见(然后大胆地呼吁这些品牌“要求通过”)。

即使Passtools(现在的Urban Airship)也声称提供了“PassTools独有的苹果开发者证书”,这在技术上将违反苹果开发者协议。

所以最重要的是,在这个时候,你可能刚刚运气不好。

 // end rant 

我不确定技术人员在说什么,但23.3是指在将pkpass文件发送到设备之前,服务器(可能是您的)通过签名过程。

要获取高级信息,请查看存折编程指南的“ 签名和压缩通行证 ”部分。