推送通知不适用于 testflight 和 xcode 8 beta

push notifications not working with testflight and xcode 8 beta

我已成功将我的应用程序上传到 itunesconnect 以使用 testflight 进行测试。我正在使用 xcode8 测试版。除了推送通知外,一切正常。我正在接收设备令牌并上传到我的服务器,消息状态显示为已送达,但设备未收到推送的消息。当我上传应用程序时,以下签名身份被 selected:

此外,我还有一个如下所示的权利文件:

我有一个有效的用于生产的临时配置文件以及一个用于开发的配置文件。上传时它不会让我 select 分发发布代码签名身份,所以这就是我 selected 开发人员的原因。

要通过 TestFlight 发送推送通知,您需要服务器端的生产收据。生产收据是在 Apple Developer Center 的 bundle/app id 下创建的。生产证书应从 ADC 站点下载,使用 openssl 从 .p12 转换为 .pem,然后由执行推送通知的脚本引用。

openssl pkcs12 -in MyCert.p12 -out MyCert.pem -nodes -clcerts

我只能通过手动将密钥更改为 "production"

来使推送通知正常工作