iOS中的Apple推送生产通知不起作用

iOS中的Apple推送生产通知不起作用,ios,push-notification,apple-push-notifications,push,Ios,Push Notification,Apple Push Notifications,Push,首先,后端的推送通知证书是由另一个开发人员设置的,并且工作正常。但是,开发人员已经离开了,由于我无法访问他的机器,因此我创建了新的分发证书以上载新版本的应用程序,然后停止推送通知以获得交付。我第一次使用推送通知,但很困惑问题出在哪里。有谁能给我一个清晰的画面发生了什么事,以及如何去做 这是我在它停止工作后所做的。我去了开发者门户,当它显示推送通知被启用时 在我的mac中生成代码签名请求或CSR文件 下载了aps.cer文件 创建了.p12和.pem文件 在此之后,我向后端人员提供了.p12和.p

首先,后端的推送通知证书是由另一个开发人员设置的,并且工作正常。但是,开发人员已经离开了,由于我无法访问他的机器,因此我创建了新的分发证书以上载新版本的应用程序,然后停止推送通知以获得交付。我第一次使用推送通知,但很困惑问题出在哪里。有谁能给我一个清晰的画面发生了什么事,以及如何去做

这是我在它停止工作后所做的。我去了开发者门户,当它显示推送通知被启用时

  • 在我的mac中生成代码签名请求或CSR文件
  • 下载了aps.cer文件
  • 创建了.p12和.pem文件
  • 在此之后,我向后端人员提供了.p12和.pem文件,但它仍然无法用于我们的试飞构建

    然后,我使用GitHub提供的Pusher应用程序进行了测试,它使用生产证书成功地向试飞构建交付了push通知

    因此,有谁能给我一个清晰的想法,我可能会错在哪里?
    我是否需要撤销推送通知SSL证书并再次生成?或者可能的错误是什么?

    如果它使用任何在线工具(如pusher)工作,那么从代码来看,它也应该工作正常。您的开发人员缺少某些内容,请让他正确检查配置。如果是生产证书和生产应用程序,他必须调用生产APNS url/端口。如果是沙盒证书和沙盒应用程序,他必须调用沙盒APNS url/端口。下面的url/端口用于APN(假设您直接使用APN而不是firebase)


    还要确保这些url可以从服务器访问,尝试使用curl命令从服务器发送推送通知,如果问题仍然存在,则进行调试。如果您使用代理,也请记住。

    如果它使用任何在线工具(如pusher)工作,那么它在代码中也应该工作良好。您的开发人员缺少某些内容,请让他正确检查配置。如果是生产证书和生产应用程序,他必须调用生产APNS url/端口。如果是沙盒证书和沙盒应用程序,他必须调用沙盒APNS url/端口。下面的url/端口用于APN(假设您直接使用APN而不是firebase)


    还要确保这些url可以从服务器访问,尝试使用curl命令从服务器发送推送通知,如果问题仍然存在,则进行调试。如果您正在使用代理,请记住。

    仅在此处回答,以便对其他人有所帮助。所有的设置都是相应的,但是,问题是服务器中的“沙盒”键被设置为“True”,甚至用于生产。一旦我们把它弄错了,一切都很顺利。

    只是在这里回答,以便对其他人有所帮助。所有的设置都是相应的,但是,问题是服务器中的“沙盒”键被设置为“True”,甚至用于生产。一旦我们将其设置为错误,一切都很顺利。

    试飞时,您需要提供生产p12,很可能您的后端人员做错了什么:D.@mustafa96m后端发布或一般生产需要哪一个?是.pem文件还是.p12文件,还是两者都有?请检查:对于试飞,您需要提供生产p12,很可能您的后端人员做错了什么:D.@mustafa96m对于后端,发布或一般生产需要哪一个?是.pem文件还是.p12文件或两者都是?请签出此项:
    SANDBOX_GATEWAY_HOST = "gateway.sandbox.push.apple.com"
    SANDBOX_GATEWAY_PORT = 2195
    SANDBOX_FEEDBACK_HOST = "feedback.sandbox.push.apple.com"
    SANDBOX_FEEDBACK_PORT = 2196
    PRODUCTION_GATEWAY_HOST = "gateway.push.apple.com"
    PRODUCTION_GATEWAY_PORT = 2195
    PRODUCTION_FEEDBACK_HOST = "feedback.push.apple.com"
    PRODUCTION_FEEDBACK_PORT = 2196