2

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

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

4

1 回答 1

3

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

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

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

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

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

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

于 2013-08-12T16:01:25.043 回答