I've got a link on a web page that should enable users to download a passbook file from a link, however when clicking on the link in Safari on an iPhone, I get the following error message:
Safari cannot download this file.
I have read similar Q&As on here, and the MIME type is set to application/vnd.apple.pkpass
. The file can be downloaded on a Windows phone.
Any suggestions on why this is the case and how to resolve this so users can access the passbook file?
The pkpass contains the following files:
icon.png
logo.png
strip.png
manifest.json
pass.json
signature
An example of the manifest.json:
{
"icon.png": "fa6b59072ae5c8163c903d8c8b5f2e4a45fbd49b",
"logo.png": "3165c9be22cbf76e2b3118972dabaef8918390f5",
"strip.png": "5d15c45f543e8088c227fc54a6c01d1f9f0b1db3",
"pass.json": "0f536b34a6b73a7799aae43ff9861dde45a6dfc6"
}
An example of the 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"
}
Note - I ran into this problem. The solution for me was picking a different intermediate certificate. Apple has TWO certificates labeled as "WWDR Certificate" in their intermediate certificates on this page: https://www.apple.com/certificateauthority/
However, as of right now, only the one that expires in 2023 actually works for this purpose.