2012-11-20 43 views
1

我已经尝试过存折教程: http://www.raywenderlich.com/20734/beginning-passbook-part-1 这是前一段时间在其他SO线程中推荐的。存折未保存优惠券

一切都进行得很顺利,除了:

  1. 我把.pkpass文件的本地Web服务器上,我试着点击直接链接到该文件,希望它会在我的iOS打开SIM /设备,但我得到的只是“safari无法下载文件”。这也发生在Passbook编程指南中的正式iOS传递样本上。在模拟器上,控制台日志中没有出现错误。

  2. 我试图把pkpass放在电子邮件中,从真实的设备打开它,它会出现好的,但是当我点击“添加”时,优惠券不会添加到存折。没有错误出现。

  3. 我试着用passsource.com创建一个pass。如果我使用他们的“即时”方法,我会得到一张优惠券,而且我可以保存它。如果我选择“下载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

回答

3

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

在我处理了这两个问题之后,我能够从我的Web服务器提供pkpass文件。

+0

你能否详细说明最后一部分。我问了一个问题,以便你可以在那里回答并获得信用。 http://stackoverflow.com/q/13846820/1015071 –

+0

好的提示关于从发现者拖到sim上。 – PassKit