1

我已经尝试过存折教程: http ://www.raywenderlich.com/20734/beginning-passbook-part-1 ,前段时间在其他一些 SO 线程中推荐过。

一切都很顺利,除了:

  1. 我将 .pkpass 文件放在本地 Web 服务器上,我尝试单击文件的直接链接,希望它会在我的 iOS sim/设备上打开,但我得到的只是“safari 无法下载文件”。这也发生在 Passbook Programming Guide 上的官方 iOS pass 示例中。在模拟器上时,控制台日志上没有出现错误。

  2. 我尝试将pkpass放入电子邮件中,从真实设备打开它,它出现了,但是当我单击“添加”时,优惠券没有添加到存折中。也没有出现错误。

  3. 我尝试使用 passsource.com 创建一个通行证。如果我使用他们的“即时”方法,我会得到一张很好的优惠券,并且可以保存它。如果我选择“下载 pkpass 文件”,然后按照上面 #1/#2 中的描述使用它 - 相同的错误。

使用正确的团队 ID 和类型 ID 正确签署优惠券。

我的 JSON 是(我弄乱了团队/类型 ID):

{
  "formatVersion" : 1,
  "passTypeIdentifier" : "pass.com.xxx.xx.xxx",
  "serialNumber" : "123",
  "teamIdentifier" : "XXXXXXXX",
  "organizationName" : "my brand",
  "description" : "my coupon",

  "logoText" : "logo text",
  "foregroundColor" : "rgb(255, 255, 255)",
  "backgroundColor" : "rgb(135, 129, 189)",
  "labelColor" : "rgb(45, 54, 129)",

  "barcode" : {
      "message" : "650438-5103453453",
      "format" : "PKBarcodeFormatPDF417",
      "messageEncoding" : "iso-8859-1"
  },

  "coupon" : {
      "primaryFields" : [
          {
              "key" : "offer",
              "label" : "for you",
              "value" : "Free hug"
          }
      ]
  }
}

我用在线验证工具测试了json,它是有效的。

任何想法为什么不保存/下载优惠券?

tnx

4

1 回答 1

3

我刚刚找到了问题的原因。似乎模拟器支持从模拟器上的 Finder 拖放 pkpass。如果这样做,我确实会在系统日志中看到详细的错误消息(我正在使用控制台应用程序),所以我发现了问题: 1. 在 manifest.json 中创建它的 sig 后,我的 json 被更改,所以我更新了sig 2. 如果我希望将 pkpass 文件作为来自 Web 服务器的通行证,仅提供指向它的直接链接是不够的,我还需要将内容类型更改为 application/vnd.apple.pkpass

在处理完这两个问题后,我就可以从我的 Web 服务器提供 pkpass 文件了。

于 2012-11-21T09:19:55.823 回答