动态生成传递

时间:2013-04-19 05:24:29

标签: ios6 passbook passkit

我通过输入命令行静态创建了一个pass,以便创建pass.pkpass。我也在MAMP中使用Web服务。如何动态生成传递? pass.pkpass存放在哪里?

1 个答案:

答案 0 :(得分:2)

要动态生成通道,您将需要以下代码:

  • 检索要放入传递的所有动态数据
  • 创建包含动态传递数据的pass.json文件并计算其SHA1哈希值
  • 收集传递资产(图像,区域设置字符串等)并计算其SHA1哈希值
  • 汇编清单文件(.pkpass包中的文件列表及其SHA1哈希值)
  • 使用您的PassID证书签署清单文件并包含Apple WWDR证书
  • 将所有资产压缩到.pkpass捆绑包
  • 使用正确的MIME类型
  • 提供.pkpass包
  • 清除您在上述过程中使用的所有临时文件夹/文件

您可能还需要代码:

  • serialNumberauthenticationToken
  • 生成随机令牌
  • 在数据库中记录通行证详细信息

至于.pkpass文件的位置,这完全取决于您。您可以存储它们,也可以在将它们提供给设备后将其删除。由于您需要的代码可以重新创建.pkpass包,并且由于您的Web服务将向已经具有最新版本的通道的设备发送304响应,因此保留这些文件几乎没有价值。你的服务器。

如果你正在使用MAMP,那么this PHP Library是一个很好的起点。