PassKit-获取Pass-Response的最新版本



在此处或此处阅读Apple PassKit文档在标题为"获取最新版本的通行证"或"设备要求最新版本通行证"的部分中,上面的两份文件只是建议。。。

以200和数据通过的有效载荷进行响应

如果通行证没有更改,服务器将返回通行证数据或HTTP状态304"未修改"。在此端点上支持If Modified Since缓存机制。

我想这是在要求我发送.pkpass文件?有标题吗?我觉得我需要发送一些标题,但文档不清楚是哪一个?

我不想发送304,在这种情况下,因为有更新。域具有有效的SSL证书。

我正在使用快递发送回复,我已经尝试了一些回复,比如。。

app.get('/passUpdate/v1/passes/*', function(req, res){
    console.log('Getting the Latest Version of a Pass');
    var path  = req.path;
    var parts = path.split("/");
    var deviceLibraryIdentifier = parts[4];
    var passTypeIdentifier = parts[5];
    var authorization = req.headers.authorization;
    var file = __dirname + '/public/pass/mytest.pkpass';
    res.setHeader('Content-type', 'application/vnd.apple.pkpass');
    res.setHeader('Last-Modified', 'Mon, 03 Apr 2016 19:01:35 GMT');
        //res.download(file);
        //res.attachment(file);
    res.sendFile(file);
        // res.attachment(https://www.mywebsite.com/pass/mytest.pkpass);
        // res.sendfile(https://www.mywebsite.com/pass/mytest.pkpass);
        // res.download(https://www.mywebsite.com/pass/mytest.pkpass);
    res.sendStatus(200);
    console.log(res.headersSent);
}); 

但通行证不断向网络服务发出请求,在手机上,通行证顶部会报告"无法更新通行证"。

顺便说一句,如果我真的用304 回应

res.sendStatus(304);

通行证然后显示信息"昨天更新"

但我确实想更新通行证!我不清楚我应该发送什么,正如你从上面的评论部分看到的那样,我已经尝试了很多东西。

欢迎任何想法或建议!

在折腾了太久之后,我只是简单地评论了

 res.sendStatus(200);

离开

app.get('/passUpdate/v1/passes/*', function(req, res){
    console.log('Getting the Latest Version of a Pass');
    var path  = req.path;
    var parts = path.split("/");
    var deviceLibraryIdentifier = parts[4];
    var passTypeIdentifier = parts[5];
    var authorization = req.headers.authorization;
    var file = __dirname + '/public/pass/mytest.pkpass';
    res.setHeader('Content-type', 'application/vnd.apple.pkpass');
    res.setHeader('Last-Modified', 'Mon, 03 Apr 2016 19:01:35 GMT');
    res.sendFile(file);
});

然后只需确保.pkpass文件realy已经更新

相关内容

最新更新