推送未通过TestFlight收到的通知

Dav*_*vid 5 push-notification apple-push-notifications ios

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

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

帮助诊断的要素:

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

谢谢你们 !

sum*_*mit 2

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

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