迄今为止,我使用的是开发推送证书,推送通知工作得很好。
现在我想向苹果提交我的应用程序,所以我创建了一个生产证书,并将其设置在“代码签名标识” -> “发布”下。
我还将.p12文件放置在我的生产服务器上。
但是推送现在无法正常工作。
当我从xcode运行时,它应该可以工作吗?还是只有从App Store下载应用程序时才会起作用?如果是这样,我该如何测试呢?
迄今为止,我使用的是开发推送证书,推送通知工作得很好。
现在我想向苹果提交我的应用程序,所以我创建了一个生产证书,并将其设置在“代码签名标识” -> “发布”下。
我还将.p12文件放置在我的生产服务器上。
但是推送现在无法正常工作。
当我从xcode运行时,它应该可以工作吗?还是只有从App Store下载应用程序时才会起作用?如果是这样,我该如何测试呢?
您可以通过构建应用程序的AdHoc版本来测试APNS生产环境。该应用程序将使用生产证书和服务器,其目的正是在您将其发送到AppleStore之前进行测试。
请查看此链接:使用AdHoc分发测试APNS需要哪种证书?
当您从应用商店下载应用程序时,生产推送将起作用。
更新:
您还可以使用应用程序的AdHoc版本测试生产推送;请参见Trinca's answer。
更新:
现在,最简单的解决方案是使用Apple的TestFlight。(在TestFlight中,很容易添加新的远程用户,向他们发送电子邮件邀请,然后他们可以在任何设备上下载。)
在配置文件中创建适用于您的应用程序的Adhoc分发配置文件。下载配置文件并安装。选择Adhoc分发配置文件对您的应用程序进行代码签名。打包ipa并保存以进行adhoc分发。将ipa复制到您的设备并测试推送。它将使用生产推送证书而不是开发证书。希望这有所帮助。
如果应用程序通过Apple TestFlight安装,则可以测试生产通知(而无需发布构建)。
这样,生产通知将被传递到应用程序中。
(如果完全相同的构建是通过HockeyApp或其他方式安装的,则不会传递生产通知。)
在iTunes Connect中的构建处理完成后,只需将构建设置为内部测试即可。