Ios Iphone未显示存折通知

Ios Iphone未显示存折通知,ios,ruby-on-rails,ruby,apple-push-notifications,passbook,Ios,Ruby On Rails,Ruby,Apple Push Notifications,Passbook,我正在构建一个存折Web服务,它将允许生成和管理存折应用程序的优惠券和通行证。我正在RubyonRails中构建这个web服务 我在更新通行证后尝试发送通知时遇到问题。我可以看到通知是在我的iphone的Xcode控制台中收到的。以下是输出: Dec 13 14:57:33 iPhone-de-J passd[543] <Warning>: Received push for topic pass.ch.passbook.poc: { aps = {

我正在构建一个存折Web服务,它将允许生成和管理存折应用程序的优惠券和通行证。我正在RubyonRails中构建这个web服务

我在更新通行证后尝试发送通知时遇到问题。我可以看到通知是在我的iphone的Xcode控制台中收到的。以下是输出:

Dec 13 14:57:33 iPhone-de-J passd[543] <Warning>: Received push for topic pass.ch.passbook.poc: {
    aps =     {
        alert = "Hello toto";
        badge = 42;
        "content-available" = 1;
        sound = "siren.aiff";
    };
}
Dec 13 14:57:33 iPhone-de-J passd[543] <Warning>: Generating GET request with URL <http://myhome:3000/v1/devices/3517d0a9f92d3f7859897af515de8b11/registrations/pass.ch.passbook.poc?passesUpdatedSince=1386942680>
Dec 13 14:57:33 iPhone-de-J passd[543] <Warning>: Get serial #s task (for device 3517d0a9f92d3f7859897af515de8b11, pass type pass.ch.passbook.poc, last updated 1386942680; with web service url http://myhome:3000) got response with code 200
Dec 13 14:57:33 iPhone-de-J passd[543] <Warning>: Get serial numbers task  completed with update tag 1386943049, serial numbers (
    45
)
Dec 13 14:57:33 iPhone-de-J passd[543] <Warning>: Generating GET request with URL <http://myhome/v1/passes/pass.ch.passbook.poc/45>
Dec 13 14:57:33 iPhone-de-J passd[543] <Warning>: Request contains header   field <Authorization: ApplePass secretsecretsecret>
Dec 13 14:57:33 iPhone-de-J passd[543] <Warning>: Request contains header   field <If-Modified-Since: Fri, 13 Dec 2013 13:51:20 GMT>
Dec 13 14:57:35 iPhone-de-J passd[543] <Warning>: Get pass task (pass type  pass.ch.passbook.poc, serial number 45, if-modified-since Fri, 13 Dec 2013 13:51:20  GMT; with web service url http://myhome:3000) got response with code 200
Dec 13 14:57:35 iPhone-de-J passd[543] <Warning>: Verifying structure andsignature for pass pass.ch.passbook.poc/45
Dec 13 14:57:35 iPhone-de-J passd[543] <Warning>: Signature validation: succeeded
Dec 13 14:57:35 iPhone-de-J passd[543] <Warning>: Verifying structure and signature for pass pass.ch.passbook.poc/45
Dec 13 14:57:35 iPhone-de-J passd[543] <Warning>: Signature validation: succeeded
Dec 13 14:57:33 iPhone-de-J passd[543]:收到主题pass.ch.passbook.poc推送:{
aps={
alert=“Hello toto”;
徽章=42;
“可用内容”=1;
sound=“汽笛声、警报声”;
};
}
12月13日14:57:33 iPhone-de-J passd[543]:使用URL生成GET请求
12月13日14:57:33 iPhone-de-J passd[543]:获取串行任务(对于设备3517d0a9f92d3f7859897af515de8b11,密码类型pass.ch.passbook.poc,最后更新的1386942680;带有web服务urlhttp://myhome:3000)收到代码为200的回复
12月13日14:57:33 iPhone-de-J密码[543]:获取序列号任务已完成,更新标签为1386943049,序列号(
45
)
12月13日14:57:33 iPhone-de-J passd[543]:使用URL生成GET请求
Dec 13 14:57:33 iPhone-de-J passd[543]:请求包含头字段
Dec 13 14:57:33 iPhone-de-J passd[543]:请求包含头字段
12月13日14:57:35 iPhone-de-J passd[543]:获取通行证任务(通行证类型pass.ch.passbook.poc,序列号45,如果自2013年12月13日星期五13:51:20 GMT起修改;带有web服务urlhttp://myhome:3000)收到代码为200的回复
12月13日14:57:35 iPhone-de-J passd[543]:验证pass.ch.passbook.poc/45的结构和签名
12月13日14:57:35 iPhone-de-J密码[543]:签名验证:成功
12月13日14:57:35 iPhone-de-J passd[543]:验证pass.ch.passbook.poc/45的结构和签名
12月13日14:57:35 iPhone-de-J密码[543]:签名验证:成功

一切似乎都有正确的行为。但是,我的iphone上没有显示任何内容。请注意,我正在使用grocer gem向APNS发送通知,从控制台的第一行来看,它似乎可以正常工作。

要显示通知,需要准备三件事

  • 字段字典必须包含changeMessage键
  • 字段changeMessage值必须包含%@(否则将显示通用过程更改消息)
  • 更新过程中的字段值必须不同于要替换的过程中的值
  • 您的Xcode日志表明您的web服务运行正常


    APNS有效载荷中的任何内容都将被忽略。推送仅作为请求设备联系web服务的触发器。

    我知道推送通知应该是空的,即{},但我认为这不会有任何区别。您在密码中更改了什么?@TomasmGuinness I更改了描述字段。changeMessage不在APNS有效负载中,它需要在您的pass.json中设置,并且字段字典的值必须更改-更改密码描述将永远不会触发更改消息。感谢您的回复。我现在收到这个消息:12月13日16:10:17 iPhone-de-J passd[582]:收到主题pass.ch.passbook.poc:{aps={alert=“Hello toto”;badge=42;“内容可用”=1;sound=“siren.aiff”};changeMessage=(“您的通行证已更改!”);}通知仍未显示。