iOS 推送通知证书

标签 ios ssl apple-push-notifications

所以前几天我意识到我的应用程序推送通知的证书已经过期。在处理了证书、配置文件和 iTunes 连接之后,我有几个问题希望有人能够为我解决:

  1. 有没有一种方法可以更新推送通知并使其正常工作,而无需通过 Apple 的审核流程来构建新版本?
    我在 App 商店中拥有的应用程序的 AppID 表示推送通知是“可配置的”,因此我完成了生成新证书的过程。在我这样做之后,分布式应用程序的配置文件更改为“无效”。我猜想为了让推送通知再次工作,我将不得不使用新的配置文件构建一个新版本的应用程序,然后让 Apple 对其进行审查,但我真的希望有一种方法可以解决这个问题,这样我就不用等了5 days让推送通知再次工作。

  2. 使用 Apple 的试飞服务时,它被视为“生产”还是“开发”?推送通知的工作方式有何不同?
    我试图弄清楚这一切是如何工作的,所以我用新的配置文件构建了一个新版本的应用程序,并将其上传到 iTunes Connect。然后我将新的 production 推送通知证书放在我的服务器上,但这似乎不起作用。我是否正确地认为 Test Flight 中的应用程序应该使用生产证书来推送通知?

  3. 从钥匙串(keychain)访问中的推送通知证书生成 .pem 文件以便在服务器上安装这些文件的正确方法是什么?
    似乎有几种方法可以做到这一点。我关注了Ray Wenderlich's APN tutorial ,但这是在遵循 Apple 的文档之后,该文档建议一起导出证书和私钥(与 Wenderlich 的文档相反,后者让您单独导出它们)。我想知道是否有更好的方法来执行此操作,以及是否有人可以提供一些好的文档或教程来说明将证书上传到服务器的最佳方法。


更新

我找到了 this guide关于为服务器创建 .pem 文件,这是我找到的最好的指南,而且它似乎是正确的做事方式。任何有关本指南有效性的反馈都将不胜感激。

最佳答案

经过太多时间,我想出了所有这三个答案:

  1. YES! 一旦我为我的服务器正确配置了 .pem 文件,推送通知又开始工作了。无需构建新应用!**

  2. 生产。

  3. This guide为我工作。

关于iOS 推送通知证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26915213/

相关文章:

java - openssl/keytool 错误 : java. lang.Exception : Input not an X. 509 证书

ios - Android可以做到,iOS怎么办:推送通知的有效载荷可以在显示给用户之前进行修改吗?

ios - 具有相同通知有效负载中的body和loc-args的以下结构是否有效?

ios - 静态变量为零 - Objective C

objective-c - NSDictionary 从 API 中分割数据

sql-server-2005 - 将 SQL Server 2005 的 SSL 设置为 LocalSystem

javascript - 使用 --ignore-ssl-errors=true 从 casperjs 运行 phantomjs

javascript - Safari 推送通知返回拒绝而不询问

iphone - Core Plot ScatterPlot y 轴未缩放以适合屏幕和绘图

ios - 将对象添加到 NSSet 时与 Core Data 的反向关系导致崩溃