代码之家  ›  专栏  ›  技术社区  ›  Joe

更新iOS分发证书和推送通知

  •  0
  • Joe  · 技术社区  · 5 年前

    今天早上,我试图将一个新的版本上传到AppStore,其中包含了一些iOS应用程序的错误修复,归档二进制文件很成功,但我无法将其上传到itunesConnect进行发布。该错误与某个分发证书有关,因此我得到了有关该问题的提示。

    在查看密钥链访问时,我看到我的iOS分发证书在早上刚刚过期。

    我登录了我的开发人员帐户,创建了一个新的分发证书并将其安装到我的密钥链中。 但是在这个新的证书之后,我的推送通知不再工作了。

    我的应用程序上没有收到任何类型的推送通知(带有有效负载或简单通知)。我可以在日志中看到通知和数据负载。

    我读过其他一些文章,说第二种方法已经被弃用,不再可靠,但是在证书更新之前它工作得很好。所以我不明白这里发生了什么。 或者,在证书更新之后,我是否遗漏了一些其他需要配置的东西,比如配置配置文件或者我的APNs证书(但我最近才切换到APNs auth key.p8)

    我登录了通知和有效负载 didReceive远程消息 方法。但是 破产管理 从来没人打过电话。

    除了这个分发证书,我的 开发商证书 也即将过期,所以我通过dev帐户撤销了它,并生成了一个新的并安装在Xcode中。

    Xcode版本10.1(10B61)- 银行代码4.2- 带有iOS 11.2.6的测试设备iPhone X

    1 回复  |  直到 5 年前
        1
  •  0
  •   AtulParmar    5 年前

    您需要使用新的分布式证书生成.pem文件,然后使用此pem文件接收推送通知。

    创建.pem文件(遵循本文中的步骤)

    https://blog.serverdensity.com/how-to-build-an-apple-push-notification-provider-server-tutorial/

    使用pem文件测试在线推送通知

    http://apns-gcm.bryantan.info/

    或者

    https://www.logisticinfotech.com/send-push-notification-online/

        2
  •  0
  •   tomerpacific    5 年前

    你可以跟着 this link 对于推送证书。

    用于测试可以使用的推送通知 Pusher

        3
  •  0
  •   Joe    5 年前

    好的,我通过删除任何与我的应用程序相关的证书在密钥链访问和开发者帐号上的证书页面来修复这个问题。

    从dev account的Certificates页上的App IDs,通过生成一个在线的、下载的、在密钥链中安装的、导出的.p12证书和上载到firebase项目设置,重新配置了我的应用的推送通知SSL证书。对生产SSL证书也重复同样的操作。

    我正在使用POSTMAN客户端向我的应用程序发送数据有效负载通知,现在它正在工作。我现在收到所有的通知,没有任何问题。

    但奇怪的是,didReceiveRemoteNotification仍然没有被调用。我将研究它,看看现在的问题是什么,因为在这里,我将实现将通知保存到本地存储以供以后查看。