这几天我一直在想办法解决这个问题。 .pkpass 似乎构建正确,但是,当我将其拖到模拟器中时,控制台中会记录以下错误
-CMS验证错误:-26275
-签名验证:* 失败 *
-读取 pass.com.example.pass/XXXXX 时出现无效数据错误。 list 签名未验证成功
-Error Domain=PKPassKitErrorDomain Code=1“无法读取通行证,因为它无效。” UserInfo={NSLocalizedDescription=无法读取通行证,因为它无效。, NSUnderlyingError=0x60000086e6d0 {Error Domain=PKPassKitErrorDomain Code=1“ list 签名未成功验证” UserInfo={NSLocalizedDescription= list 签名未成功验证}} }.
当我解压 .pkpass 时,signature.exe 文件就在那里,但它完全是空的。 我可以看到它正在加载签名 key 文件,但它似乎从未得到验证。
代码如下:
formatVersion : 1,
passTypeIdentifier: 'pass.com.example.pass',
teamIdentifier: 'XXXXXXX',
webServiceURL : "https://example.com",
authenticationToken : "1234567",
organizationName: 'Test',
description: 'example pass'
});
template.loadImagesFrom('./images');
template.fields.barcode = {
'format': 'PKBarcodeFormatPDF417',
'message': '123456789',
'messageEncoding':'iso-8859-1'
};
template.fields.serialNumber = 'E5982H-I2';
template.keys('./keys', 'password');
let pass = template.createPass({
primaryFields: [
{
key: "pass",
label: "Project",
value: "please work"
}
]
});
var file = fs.createWriteStream("Callsheet.pkpass");
pass.on("error", function(error) {
console.error(error);
process.exit(1);
})
pass.pipe(file);
app.get("/newpass", function(request, response) {
pass.render(response, function(error) {
if (error)
console.error(error);
});
});
在 key 文件夹中,我有 AppleWWDRCA.cer、Certificates.p12、com.example.pass.pem 和 wwdr.pem
我不确定这是否是我出错的地方,但任何帮助将不胜感激
最佳答案
Passbook 库中存在错误。使用 https://github.com/assaf/node-passbook/pull/70 的建议修复
关于ios - "Manifest signature did not verify successfully",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57671258/