添加到默认钱包应用程序的通行证的推送通知[重复]

Posted

技术标签:

【中文标题】添加到默认钱包应用程序的通行证的推送通知[重复]【英文标题】:Push Notification for a pass added to the default Wallet Application [duplicate] 【发布时间】:2016-06-02 00:09:21 【问题描述】:

我构建了一个 Ruby on Rails 应用程序来创建通行证并与 Apple 交互以管理通行证注册和更新。在大多数情况下,我遵循本教程:https://www.sitepoint.com/whats-in-your-wallet-handling-ios-passbook-with-ruby/

我已经观看了有关苹果存折 (https://developer.apple.com/videos/play/wwdc2012/301/) 的这些苹果视频,并根据 passkit 文档 (https://developer.apple.com/library/ios/documentation/PassKit/Reference/PassKit_WebService/WebService.html) 设置了我的应用程序的 API。

现在,我可以在我的 RoR 应用程序中创建通行证并将它们添加到我的 iphone(通过电子邮件或下载链接)。但是,在更新通行证并触发 APNS 的推送通知后,我的设备中没有收到推送通知。第一次添加设备时,我的设备已正确注册到我的应用程序。如果我回到通行证的后面并刷新它,通行证会按预期更新。

我遇到的唯一问题是将这些推送通知发送到苹果钱包应用程序。我不知道我是否遗漏了什么,我已经阅读了很多提到为您自己的 IOS 应用程序启用推送通知的帖子,但我真的不需要 IOS 应用程序;如果我的通行证被添加到苹果的默认钱包应用程序中,我只想向它推送通知。

我的设备的推送令牌生成正确,我已经尝试使用 grocer gem 使用生产和沙盒 APNS 端点和证书,我什至尝试了这些苹果视频附带的服务器参考,我不明白任何错误,但我也没有收到任何通知。我已确认我的 iPhone 已为钱包应用启用通知。

如果有人能引导我找到正确的方法来解决这个问题,我将不胜感激。

【问题讨论】:

【参考方案1】:

我已尝试使用生产和沙盒 APNS 端点,并且 使用 grocer gem 的证书

您的问题是您使用了错误的证书。

使用您的 PassTypeID 证书连接到 APNS 生产端点。

更多详情请见How to make a push notification for a pass。

【讨论】:

感谢您的回答。我已阅读并尝试使用 Pass Type ID 证书,但我得到:OpenSSL::PKey::RSAError(既不是 PUB 密钥也不是 PRIV 密钥:嵌套 asn1 错误)。这是否意味着我在生成证书时做错了什么?我下载了 .cert 文件,然后从钥匙串中导出了 pem 文件。 只是为了确定,这是我用来签署通行证的同一个证书吗? 正确 - 相同的证书。以与 APNS 证书相同的方式导出。 还要进行模数检查以确保您的密钥和证书匹配 我知道错误是什么。我拥有的证书没有关联的私钥(在钥匙串中我看不到扩展嵌套项的箭头),因此生成的 .pem 文件没有密钥信息。我重新生成了证书,它工作得很好。好吧,我没有看到实际的推送通知,但通行证现在会自动更新,我现在可以看到设备更新通行证的请求,所以我想我现在很好。谢谢。

以上是关于添加到默认钱包应用程序的通行证的推送通知[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PKAddPassButton 为带有本地化的通行证创建“添加到苹果钱包”按钮

更新存折通行证

我们可以一次向钱包添加多个通行证吗?

如何以编程方式将支付卡添加到苹果钱包中

存折推送后不要求最新版本

我可以在苹果钱包中添加徽章 ID