我跟着Apple's instructions实施了更新Apple电子钱包通行证的选项。
我能够推送更新并在不同设备上成功接收,但我只能在执行“pull-to-update”后看到更新。使用“即时更新”后,会更新通行证上的字段,并在通知面板中显示更改消息,但屏幕上不会显示通知。
我知道问题不在于设备或设备设置,因为我可以从其他来源的传递中获得自动更新。
但那里提到的解决方案对我没用。
以下是最初生成时的传递示例以及对其进行更新后的传递:
之前
model pdetest_1
parameter Real L=1;
parameter Integer N=100;
parameter Real dx=L/(N-1);
parameter Real[N] x=array(i*dx for i in 0:N-1);
Real u[N],ux[N];
initial equation
for i in 1:N loop
u[i]=0;
end for;
equation
u[1]=(time)^2;
ux[1]=0;
for i in 2:N loop
u[i]=u[i-1]+dx*ux[i-1];
der(u[i])=ux[i];
end for;
end pdetest_1;
后
{
"formatVersion": 1,
"passTypeIdentifier": "pass.com.domain.discountCoupon",
"serialNumber": "422",
"teamIdentifier": "ABCDEFGHIJKLMNOP",
"organizationName": "Company",
"webServiceURL" : "https://example.com/wallet/webServiceURL.php",
"authenticationToken" : "ABCDEFGHIJKLMNOP",
"description": "Card",
"logoText": "",
"foregroundColor": "rgb(1, 1, 1)",
"backgroundColor": "rgb(255, 255, 255)",
"labelColor": "rgb(1, 1, 1)",
"locations" : [
{
"longitude" : 0,
"latitude" : 0
}
],
"storeCard": {
"headerFields" : [
...
],
"backFields": [
{
"label": "MOBILE TERMS:",
"key": "mobileterms",
"value" : "mobile terms"
},
{
"changeMessage": "%@",
"label": " ",
"value": "I will change this soon",
"key": "fieldToChange"
}
]
}
}
答案 0 :(得分:2)
您的第二次传递更改消息为空。它还需要包含%@
答案 1 :(得分:2)
发现问题:
在传递生成时缺少标题Last-Modified。这是iOS推送通知的要求。
添加后:header('Last-Modified: '.gmdate('D, d M Y H:i:s T'));
到我的传递生成代码,通知出现了。
为了使通知显示changeMessage
文本,我按照@PassKit的回答添加了changeMessage
(包括%@
)在更新后我推送的新传递中。