java - Safari 无法下载此文件 (Passbook Pass)

标签 java iphone passbook passkit

我正在使用 passkit(java)。我创建了通行证并尝试从 safari 安装。

当我从 mac mini safari 下载通行证时,它会下载并显示通行证。 但是当从 iphone6 和 iphone4 safari 下载通过时,它显示错误“safari 无法下载此文件”。

我也在更改 htaccess。

您可以在此处访问通行证: http://103.14.127.126/devesh/test.html

最佳答案

您的通票包不包含图标。

Nov 28 17:34:28 pfr MobileSafari[2127] <Warning>: Invalid data error reading pass M5AULVCSR9.pass.egratify.gift/9128232779653468419. Pass does not contain icon.png/icon@2x.png/icon3x.png
Nov 28 17:34:28 pfr MobileSafari[2127] <Warning>: PassBook Pass download failed: The pass cannot be read because it isn’t valid.

您也不应该在 pass 包中包含 p12 或 PEM 格式的证书。我强烈建议您撤销此证书并重新颁发另一个证书。

enter image description here

修复这些问题后,您的通行证仍将无法加载,因为您的 pass.json 有一个 authenticationToken key ,但缺少一个 webServiceURL。您应该添加有效的 webServiceURL 或删除 authenitcationToken key 。

您的最后一个问题是 passTypeIdentifier 键。这应该与用于签署通行证的证书名称相匹配。在这种情况下,pass.egiftfy.giftCupon

{
    "formatVersion": 1,
    "serialNumber": "9128232779653468419",
    "passTypeIdentifier": "M5AULVCSR9.pass.egratify.gift",
    "authenticationToken": "1234567890987653",
    "description": "Devesh kumar",
    "teamIdentifier": "M5AULVCSR9",
    "organizationName": "OrgName",
    "logoText": "Devesh kumar ka pass",
    "foregroundColor": "rgb(255,255,255)",
    "backgroundColor": "rgb(0,255,0)",
    "barcode": {
        "format": "PKBarcodeFormatQR",
        "message": "ABCDEFG",
        "messageEncoding": "UTF-8"
    },
    "storeCard": {
        "primaryFields": [{
            "key": "balance",
            "label": "balance",
            "value": "100",
            "currencyCode": "EUR"
        }]
    }
}

更新

您通过仍然失败,因为 passTypeIdentifier 与您用于签署通过的证书不匹配。

Nov 28 19:14:33 pfr MobileSafari[2127] <Warning>: Invalid data error reading pass pass.egratify.gift/9128232779653468419. The passTypeIdentifier or teamIdentifier provided may not match your certificate, or the certificate trust chain could not be verified.

在十六进制编辑器中查看您的签名文件,看起来您现在正在使用 App Developer 证书而不是 Pass Type ID 证书进行签名。

关于java - Safari 无法下载此文件 (Passbook Pass),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27185063/

相关文章:

java - 如何将 ant multirootfileset 转换为标准文件集?

ios - 无法将类型 'String.Type' 的值转换为预期的参数类型 'String!'

iphone - 如何对文本进行自动换行?

ios - 如何以正确的方式实现委托(delegate)方法?

java - 为什么这个简单的 Java Swing 程序会死机?

java - 如何转换特殊字符, "Fran%c3%a7ais"-> "Français"?

java - 从控制台运行 Java 应用程序时如何查看完整的异常堆栈跟踪?

python - 在 Google App Engine 中编码 PKCS7(python,存折)

ios - Apple 存折(钱包)设备注册不是通过应用程序

grails - 如何使用Grails通过电子邮件生成,签名和分发存折通行证?