3

我知道如何.pkpass使用 Mac 上的工具制作文件,然后将它们压缩并签名(使用signpass工具),但是如何在 iOS 应用程序运行时编辑文件?

我意识到在 Apple文档中,他们希望您使用服务器进行任何更新/编辑,但这不是我的目标(我意识到那里的安全问题,这不是这个问题的重点) .

我该怎么做(我不是要代码)?在文档中,这是唯一提到(我见过的)在运行时实际操作传递的内容:

In a production environment, the signing and compressing would be part of the system that generates passes.

关于如何做到这一点的任何想法?是否有任何第三方 API 允许这样做(我检查了 Passdock 和 Passsource,但 Passdock 没有 Obj-C API 并且 Passource 不太清楚)。

4

2 回答 2

3

正如您已经说过的,Apple 不希望您在 ios 应用程序中创建自己的 .pkpass 文件。当然可以这样做,Apple 不能不允许您包含或获取证书,尽管如果他们愿意,他们当然可以拒绝您的应用程序。

您可以调整来自任意数量的文章/教程的代码来构建各种文件,创建签名(可能是最神秘和最困难的部分),并在您的应用程序中创建一个 .pkpass 文件。如果它所依赖的框架在 iPhone SDK 中,signpass 应用程序中的一些代码可能可以按原样重复使用。

也许您可以查看一些已经存在的服务,这些服务通过可以从手机使用的高级 API 提供通行证生成。 这个,例如,我没有保证或背书。

于 2012-10-26T23:30:26.930 回答
2

您将无法编辑 .pkpass 文件,因为它已被签名。如果更改它,签名将无效。

您可以做的唯一编辑是 pre-pkpass 生成。如果您可以在运行时创建 .pkpass 文件,则可以在签名之前对其进行编辑。否则,使用推送通知在生成后编辑它们的唯一其他选项,但这仅允许编辑特定字段。

于 2012-10-26T15:37:34.703 回答