续订iOS分发证书和推送通知

问题描述 投票:1回答:3

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

在浏览Keychain Access的过程中,我看到我的iOS发行版证书早上到期了。

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

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

我已经阅读了其他一些帖子,说第二种方法已被弃用,不再可靠但在证书更新之前工作正常。所以我不明白这里发生了什么。或者我在证书更新后错过了一些其他配置,例如配置配置文件或者我的APNs证书(但我最近刚切换到APNS auth key.p8)

我在Appdelegate中的didReceive remoteMessage方法中记录了通知和有效负载。但didReceiveRemoteNotification从未被调用过。

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

Xcode版本10.1(10B61) - Swift 4.2 - 带有iOS 11.2.6的TestDevice iPhone X.

ios swift xcode apple-push-notifications ios-provisioning
3个回答
0
投票

您需要使用新的分布式证书生成.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/


0
投票

您可以关注this link获取推送证书。

要测试推送通知,您可以使用Pusher


0
投票

好的,我通过删除与钥匙串访问中的我的应用程序相关的任何现有证书实例以及开发人员帐户上的证书页面来修复此问题。

从开发帐户的“证书”页面上的App-ID,通过在线生成一个,下载,安装在钥匙串中,导出.p12证书并上传到firebase项目设置,重新配置我的应用程序的推送通知SSL证书。对生产SSL证书也重复相同的操作。

我正在使用POSTMAN客户端将Data Payload通知发送到我的应用程序并立即正常工作。我现在收到所有通知,没有任何问题。

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

© www.soinside.com 2019 - 2024. All rights reserved.