在标题为“获取最新版本的通行证” 或 “设备要求最新版本的通行证”的部分中阅读 Apple PassKit 文档,上面的两个文档只是建议......
以 200 和数据传递的有效负载响应
或者
如果 pass 没有更改,您的服务器将返回 pass 数据或 HTTP 状态 304 Not Modified。在此端点上支持 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);
然后通行证显示消息“昨天更新”
但我确实想更新通行证!并且不清楚我应该发送什么,正如您从上面的评论部分中看到的那样,我已经尝试了不止几件事。
任何想法或指示都非常受欢迎!