我的 Passbook 相关应用程序最近根据准则 23.3 被拒绝:
我有几个问题,并与 Apple 的某个人通了电话。他们告诉我,为了解决我的问题,我可以在我的应用程序中创建一个注册表单。然后可以使用此注册表单为用户创建证书并根据他们的凭据传递类型 ID。但是,我一直在梳理文档,但没有发现任何允许人们在没有付费开发人员成员(member)资格的情况下创建通行证类型 ID 或证书的内容。这是否正确, 我的用户是否需要付费开发者成员(member)资格才能创建他们自己的通行证类型 ID?
如果他们不这样做,甚至可以在运行时创建 PassType ID 吗?例如,使用注册表单中的信息,我可能会使用 PassKit/某种 Passbook 服务器发出 API 请求以创建 Pass 类型 ID:
PassID *ID = [PassKit createIDWithName:@"USER_INFO"];
有没有类似的事情,还是苹果技术人员在谈论其他事情?
最佳答案
这听起来很疯狂 - 是的!完全满足此准则的唯一方法是支付 Apple 税并注册为开发人员。 Apple 开发者论坛中有几个长主题讨论了这一点的推理和影响。虽然它不受欢迎,但我们大多数人承认有很好的理由,从长远来看,这将保护平台的完整性(并在短期内让 Apple 律师满意)。
主要原因是因为在大多数司法管辖区;优惠券、机票、旅行证件和其他典型 Passbook 内容对发行人构成了具有约束力的义务。从法律上讲,如果不履行,通行证发行人应对消费者负责。为了保护自己,Apple 需要确保在任何情况下,他们都不会被视为任何 Passbook 通行证的发行者。
Apple Developer 计划注册可验证被接受的任何个人或公司的身份。它还强制开发人员签署开发人员协议(protocol)的条款,其中包含一个完整的附件,专门说明您可以使用 Passbook 和您的 PassID 证书做什么和不可以做什么。这为 Apple 提供了足够的法律保护,以应对与任何 Passbook 通行证相关的未履行商品或服务的任何 claim 。
虽然有很多阻力并要求更快、更少以美国为中心的流程(您不会相信为美国以外的小实体获得 DUNS 编号是多么困难),但我认为这不会改变任何时候很快。
至于自动配置。我自己和其他主要 Passbook 平台的创建者在 iOS6 发布之前就一直在呼吁这一点。我有一个日期为 8 月 7 日的开放式雷达,请求一个简单的 API 来颁发和撤销 Pass Type ID 证书。我对您的 Apple 技术人员所指的内容很感兴趣,因为据我所知,没有这样的服务。
// rant
令人沮丧的是,有许多批准的应用程序允许完全通过自定义,但根据应用程序开发人员的证书颁发通行证。
苹果似乎也对某些服务视而不见,这些服务在他们自己的证书下发行带有主要品牌标志和商标的通行证(然后大胆地呼吁这些品牌“认领他们的通行证”)。
甚至 Passtools(现在的 Urban Airship)也声称提供“来自 PassTools 的唯一 Apple 开发者证书”,这在技术上违反了 Apple 开发者协议(protocol)。
所以最重要的是,在这种情况下,你可能只是不走运。
// end rant
关于objective-c - 在运行时创建证书和通行证类型 ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14201853/