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

Posted

技术标签:

【中文标题】推送通知不适用于 testflight 和 xcode 8 beta【英文标题】:push notifications not working with testflight and xcode 8 beta 【发布时间】:2016-06-20 01:05:52 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

我只能通过手动将密钥更改为“生产”来使推送通知正常工作

【讨论】:

以上是关于推送通知不适用于 testflight 和 xcode 8 beta的主要内容,如果未能解决你的问题,请参考以下文章

Xcode:推送通知以在设备工作上构建,而不是在同一设备上安装 TestFlight/App Store

iOS VoIP 推送通知/PushKit 不适用于增强通知格式

丰富的推送通知不适用于 IOS 中的 FCM

推送通知 php 代码不适用于 Android

Apple 推送通知不适用于分发,但适用于开发

推送通知不适用于通过 Parse.com 发送的 Android 和 iOS 设备