首先,我要说我已经寻找解决方案几个小时了。我已经阅读了几乎所有与此相关的SO问题,但没有一个解决方案可行。我也阅读了官方的苹果文档和一些其他教程。基本上,我说这话是为了避免显而易见的建议,比如(确保不是“沙盒”等)。
我在预配门户中为我的应用程序拥有开发和生产推送通知证书。我已经按照苹果自己的文档步骤创建了dev和prod pem文件。
我同时拥有与此应用程序关联的dev和adhoc分发预配描述文件。
我可以使用dev配置文件直接从xcode构建应用程序到设备上,也可以使用adhoc分发配置文件对其进行归档(然后使用beta builder来安装到设备上)。
当使用沙盒和dev pem文件时,无论是直接使用dev配置文件还是使用adhoc配置文件(通过beta builder),推送通知都可以正常工作。但是,一旦我测试使用prod服务器和prod pem文件,推送通知就无法发送。
我有两个用于测试的php脚本,一个用于dev,一个用于prod。它们本质上是相同的,除了服务器url(沙盒与非沙盒)和引用的pem文件(dev或prod)。
我觉得即使使用adhoc构建,我仍然可以使用沙盒和dev pem发送推送通知,这是正常的吗?
在从开发到生产过程中,还有其他事情我应该做吗?我觉得我已经尝试了所有的办法。我多次重新生成了证书和描述文件。我几乎按照相同的过程为生成dev和prod pem文件,而我的php脚本也非常相似(针对prod和dev)。
我不知道这是服务器问题还是客户端(应用程序)问题?我是否遗漏了某个设置?
希望有人能为此提供一些帮助,因为它开始让我疯狂了!
谢谢!