在寻找解决方案后我失去了一天以上的时间后,我决定在这里征求意见。
所以,我有一个使用PN的iPhone应用程序,我有安装了Easy APNS模块的服务器。 Easy APNS根据我的需求进行了一些修改,但仍然如此。 我预计在分发我的应用程序后可能会出现PN问题而我试图避免它。我研究了很多论文。但现在我有问题了。
与大多数类似问题一样,在开发模式下一切正常,但在生产模式下,应用程序不会收到通知。
当我测试我的应用程序,修复错误,在开发模式下检查我的服务器,使用沙盒苹果服务器,我去提交我的应用程序进行审核。根据手册,我做了: - 启用生产推送我的AppId - 为AppStore生成分发条款 - 上传并安装了证书和规定 - 密钥链中的APS证书和密钥我已导出到.pem ssl证书,如下所述:http://blog.boxedice.com/2009/07/10/how-to-build-an-apple-push-notification-provider-server-tutorial/ - 我已将证书上传到我的服务器 - 使用具有发布配置的Archive方案构建我的源代码。当然,我已经使用了分发条款
我已经提交了二进制文件以供审核,当它被批准时,我已经从AppStore在iPhone上安装了它。而现在我无法接受推动。也不是我的测试设备,也不是任何其他设备。
直到现在我已经: - 再生pem证书。 - 尝试使用此证书连接到ssl://gateway.push.apple.com/ - 连接确定(与ssl://gateway.sandbox.push.apple.com/连接相同的证书被拒绝)。 - checked provision file - key aps-environment设置为production - 检查手册,如果我必须在提交之前更改源代码 - 没有。
实际上,设备在启动后正在服务器上注册。他们正在接收设备令牌并使用所有其他信息将其检索到服务器 - 所有这些似乎都是正确的。 服务器似乎也正在发送消息 - 使用正确的证书文件,连接到gateway.push.apple.com的2195端口,创建连接和发送消息没有任何问题,并且没有收到任何反馈。
因此,设备和服务器都可以连接到APNS,但服务器无法通过它发送消息。
我看到了很多类似的问题和很多可能的解决方案。但是没有一个是有帮助的。 但我会感谢任何帮助,想法或建议。
答案 0 :(得分:0)
嘿......似乎问题是我的网络开发人员转换了生产和开发证书......相当愚蠢......
但现在我对推送通知了解很多)
非常感谢StackOverflow!