首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在.pkpass上下载存折文件iPhone (Safari)

无法在.pkpass上下载存折文件iPhone (Safari)
EN

Stack Overflow用户
提问于 2016-08-04 09:50:59
回答 1查看 3.2K关注 0票数 0

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

代码语言:javascript
运行
复制
Safari cannot download this file.

我在这里读过类似的Q&As,MIME类型被设置为application/vnd.apple.pkpass。存折可以在Windows手机上下载。

对于为什么会出现这种情况,以及如何解决这个问题,用户可以访问存折文件,有什么建议吗?

我已经在桌面上下载了存折,这就是它包含的内容。

pkpass包含以下文件:

代码语言:javascript
运行
复制
icon.png
logo.png
strip.png
manifest.json
pass.json
signature

Manifest.json的一个例子:

代码语言:javascript
运行
复制
{
  "icon.png": "fa6b59072ae5c8163c903d8c8b5f2e4a45fbd49b",
  "logo.png": "3165c9be22cbf76e2b3118972dabaef8918390f5",
  "strip.png": "5d15c45f543e8088c227fc54a6c01d1f9f0b1db3",
  "pass.json": "0f536b34a6b73a7799aae43ff9861dde45a6dfc6"
}

Pass.json的一个例子:

代码语言:javascript
运行
复制
{
    "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)",
    "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":"https://XXXX/passbook.svc"
}

我有一个以前类似的问题,我通过确保webServiceURL是https来解决这个问题,但是在这个场景中是这样的。

EN

回答 1

Stack Overflow用户

发布于 2016-08-04 10:11:10

检查你的日志,你的签名有问题。

代码语言:javascript
运行
复制
Aug  4 17:08:22 pfr MobileSafari(PassKitCore)[611] <Notice>: Error evaluating trust: <private>
Aug  4 17:08:22 pfr MobileSafari(PassKitCore)[611] <Notice>: Signature validation: *** FAILED ***
Aug  4 17:08:22 pfr MobileSafari(PassKitCore)[611] <Fault>: Invalid data error reading pass <private>. <private>
Aug  4 17:08:22 pfr MobileSafari(PassKitCore)[611] <Notice>: Invalid data error reading pass <private>. <private>
Aug  4 17:08:22 pfr MobileSafari[611] <Notice>: PassBook Pass download failed: The pass cannot be read because it isn\M-b\M^@\M^Yt valid.

要检查的事情:

  • 每个文件的SHA1散列是否与清单匹配?
  • 证书是被撤销还是过期了?
  • 签名是否包含更新的Apple证书(旧的在二月过期了。)?
  • 签名是否包含签名日期?

更新:

在检查您的签名后,我可以看到它是由过期的Apple证书签署的。本证书有效期为2016-02-14T18:56:35Z。

代码语言:javascript
运行
复制
Apple Root CA0 080214185635Z 160214185635Z

下载新证书,并再次编译pass。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38764027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档