Safari无法下载存折文件.pkpass

我在网页上有一个链接,可以让用户从链接下载存折文件,但是当点击iPhone上的Safari链接时,出现以下错误消息:

Safari cannot download this file. 

我在这里读过类似的问答,而MIMEtypes设置为application/vnd.apple.pkpass 。 该文件可以在Windows手机上下载。

有关为什么会出现这种情况的任何build议以及如何解决这个问题,以便用户可以访问存折文件?

pkpass包含以下文件:

 icon.png logo.png strip.png manifest.json pass.json signature 

manifest.json的一个例子:

 { "icon.png": "fa6b59072ae5c8163c903d8c8b5f2e4a45fbd49b", "logo.png": "3165c9be22cbf76e2b3118972dabaef8918390f5", "strip.png": "5d15c45f543e8088c227fc54a6c01d1f9f0b1db3", "pass.json": "0f536b34a6b73a7799aae43ff9861dde45a6dfc6" } 

pass.json的一个例子:

 { "passTypeIdentifier":"pass.com.XXXX.sampleticket", "formatVersion":1, "serialNumber":"TIC1000000518", "description":"XXXX", "organizationName":"XXXX", "teamIdentifier":"W9XR4FBDD4", "logoText":"Dragon Bay", "foregroundColor":"rgb(0,0,0)", "backgroundColor":"rgb(255,255,0)", "labelColor":"rgb(0,0,0)", "voided":false, "eventTicket":{ "headerFields":[], "primaryFields":[], "secondaryFields":[{"key":"activity", "label":"11/20/2015 12:00 AM", "value":"One Day at the Museum" }], "auxiliaryFields":[], "backFields":[{ "key":"terms", "label":"Terms & Conditions", "value":"XXXX" }, { "key":"contact", "label":"XXXX", "value":"XXXX" }, { "key":"legal", "label":"Legal", "value":"XXXX" }, { "key":"notes", "changeMessage":"%@","label":"Notes","value":"" }, { "key":"lastUpdated", "label":"Last Updated", "dateStyle":"PKDateStyleMedium", "timeStyle":"PKDateStyleShort", "isRelative":false, "value":"2016-01-08T19:00Z" }] }, "barcode":{ "format":"PKBarcodeFormatPDF417", "message":"1000000518", "messageEncoding":"UTF-8", "altText":"1000000518" }, "authenticationToken":"0123456789ABCDEF", "webServiceURL":"XXXX/passbook.svc" } 

虽然这是有点老,最近发生在我身上,所以我会离开我的解决scheme,以帮助其他人。

在我这边的问题是,我将空白字段设置为string而不是布尔值,如下所示:“voided”:“false”并且缺less“expirationDate”字段。

所以这样做解决了这个问题:

  ... "expirationDate": "2016-06-30T11:59:59Z", "voided": false, ... 

这是棘手的,花了我一会儿才弄清楚。 希望能帮助到你。

我改变了webServiceURL使用HTTPS @PassKit所提到的问题已经解决。

我有一些其他问题导致.pkpass文件在我的Mac上查看时正确显示,但产生相同的“Safari无法下载此文件” – 尝试在iOS中查看它们时出现错误。

我的错误来源是:

  • 我在字段定义中使用了“key”属性的整数值(因为我使用CMS来创build这些字段)

所以,确保在字段定义中只使用string作为“key”属性