我是否需要服务器来创建静态存折,为什么不在应用程序中本地进行呢?

Sim*_*all 4 ios passbook

我正在编写 Passbook 实现的服务器部分。存折“卡”将是静态的并且不会改变。我真的必须使用服务器来编译pkpass文件吗?

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

Pas*_*Kit 5

如果传递是真正静态的,即它不包含webServiceURLauthenticationToken键并且不包含用户提供的可变数据,那么您不需要服务器。

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

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

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

从应用程序内编译 .pkpass 是一个非常糟糕的主意。您的应用程序可能未获批准,因为要从您的应用程序内进行登录,需要您将 Pass Type ID 私钥嵌入到您的应用程序包中。

如果您需要在通证中包含唯一的用户信息,那么这几乎肯定需要您构建服务器或使用服务提供商,因为每个通证仍需要按订单构建和签名。