我是否需要服务器来创建静态Passbook,为什么不在app中本地执行?

时间:2013-08-12 15:28:40

标签: ios passbook

我正在编写Passbook实现的服务器部分。 Passbook“卡”将是静态的而不是更改。我是否真的必须使用服务器来编译pkpass文件?

我问的原因是,在示例项目Apple中,他们有Objective-C代码来创建和签署Passbook。如果我只使用不会更新的静态卡,那么当我可以在应用程序中本地进行编译时,我认为编译服务器上的pkpass毫无意义。

1 个答案:

答案 0 :(得分:3)

如果传球真的是静止的,I.e。它不包含webServiceURLauthenticationToken键,不包含用户提供的变量数据,因此您不需要服务器。

您仍然需要创建并签署通行证,但这可以使用Apple提供的命令行工具完成。

获得.pkpass捆绑包后,您可以将已签名的.pkpass捆绑包添加到您的应用捆绑包中,或将其发布到网络服务器或CDN(例如Amazon S3)。要从应用内添加到用户Passbook,请从应用包或外部网址中检索,然后将其传递给PKAddPassesViewController

就个人而言,我会选择在网上某处发布.pkpass捆绑包,因为它允许您更改通行证而无需重新提交应用。

从应用程序中编译.pkpass是一个非常糟糕的主意。您的应用可能未获批准,因为要在您的应用中签名,您需要在应用包中嵌入通行证类型ID私钥。

如果您需要在传递中合并唯一的用户信息,那么这几乎肯定会要求您构建服务器或使用服务提供商,因为仍然需要构建每个传递并签署订单。