推送未通过TestFlight

时间:2015-04-30 09:08:27

标签: ios push-notification apple-push-notifications

我的应用程序目前正由测试人员通过TestFlight进行测试。问题是他们没有收到任何发送的推送通知。当它连接到我的mac并直接从x-code运行应用程序时,它正在我自己的设备上工作。 我觉得我已经尝试了几乎所有的东西,从更改证书从开发到生产,再创建一个新的生产APNS证书,并使用引用它的新配置文件等进行构建。

我知道这个问题已在其他主题上讨论过但我在我的案例中从未找到正确的答案。我无法在此发布图片,因为我没有足够的声誉,但我有相关的截图。 欢迎任何帮助:)

帮助诊断的要素:

  • 当我直接从x-code运行应用程序时,它正在我的设备上运行。
  • 如果他们想要在他们的设备上授权推送通知,则会正确询问测试人员(至少在第一次安装之后,如果他们想要再次询问他们必须执行Reset push notification settings for app中所述的操作)
  • 注册正在工作,因为我可以在日志中看到他们的设备令牌(但我觉得令牌总是相同的,无论应用程序是使用生产或开发证书构建的,不确定它是否是正常)。
  • 我有APNS制作证书。
  • 我有一个分发配置文件,启用了“推送通知”。它与我的“完整”appID相关联(而不是通用的“*”)。
  • 我在发布模式下使用分发证书(不是在调试模式下),我正在使用上面描述的配置文件(分发版,与我的应用ID相关联)
  • 当我在提交构建之前检查“binary& entitlements”窗​​口时,我看到配置文件是正确的,并且“aps-environment”设置为“production”。
  • 服务器端:APNS呼叫是使用来自谷歌应用引擎服务器的javapns(https://code.google.com/p/javapns/)进行的。就像我说的那样,通知是在我自己的设备上正确接收的,所以我猜这个通话是有效的。我们有一个从APNS开发证书生成的.p12文件和一个来自APNS生产证书的.p12文件,我试图用两者进行调用,但它不起作用。服务器端代码没有从以前的版本更改,并且它正在使用商店中的应用程序进行生产。问题主要集中在使用testflight进行测试。

谢谢大家!

1 个答案:

答案 0 :(得分:2)

如果您遵循Ray Wenderlich的教程并且您在开发模式下完成了所有工作,那么问题很可能就是您现在需要为生产模式创建一个新的.pem文件。

因此,您需要执行与使用生产证书再次下载的开发证书(即.p12文件)完全相同的步骤,您也可以在iOS开发中心获取: