推送通知在 Apple Beta 测试 (TestFlight) 中不起作用

Posted

技术标签:

【中文标题】推送通知在 Apple Beta 测试 (TestFlight) 中不起作用【英文标题】:Push notifications don't work in Apple Beta Testing (TestFlight) 【发布时间】:2015-09-05 17:02:55 【问题描述】:

推送通知在开发配置文件中运行良好,但一旦我尝试将应用程序加入 Beta 测试计划 (TestFlight),它们就不行了。

我尝试在切换到生产配置文件时执行所有必需的步骤,但仍然无法正常工作。这就是我所拥有的。

在会员中心:

ios Distribution 类型的证书。 应用程序 ID。命名(不是通配符)。为开发和分发启用推送通知 - 绿灯 - 生成并上传所有 SSL 证书。 iOS 分发配置文件,它使用上述证书和应用程序 ID,并在启用的服务中列出推送通知。

在 XCode 中。目标 > 构建设置 > 代码签名:

配置文件 - iOS 分发,与会员中心中的相同。 代码签名身份(调试和发布)- iPhone 分发。

我是否遗漏了一些(不是那么)明显的东西?任何帮助将不胜感激。

【问题讨论】:

与以往一样,上下文是关键。我没有提到我使用 parse.com 来处理我的推送通知,而我没有做的是将 .p12 生产证书上传到 parse.com 到让它工作。 另外,我还没有对此进行测试,但值得注意的是,我在 Xcode 中为 Project 和 Target 选择了分发配置文件 - 出于某种原因,它们是独立处理的。 【参考方案1】:

一切似乎都是正确的。也许您应该准确说明什么不起作用:

应用根本没有注册到 APNS 令牌 应用正确注册但未收到推送

处理以下检查

应用根本没有注册到 APNS 令牌

移动供应

确保在启用推送后通过 XCode 刷新您的 mobileprovisions,以确保其中包含正确的权利。您可以通过在编辑器中打开移动设备并查找aps-environment 键来检查这一点?

注册到 APNS

确保注册到 APNS 的代码不依赖于任何个人设置(例如缺少某些 SaaS 推送服务的推送 ID)

.

应用正确注册但未收到推送

检查收到的 pushToken 是否发送到服务器的正确环境(连接到 APNS 的环境) 检查您的服务器是否正在使用生产 APNS 证书

【讨论】:

【参考方案2】:

碰巧的是,我未能在我的问题中提供完整的上下文。我使用 Parse.com 来处理我的后端以及推送通知。所以我缺少的是 Parse.com 上的生产证书,而不仅仅是开发证书。因此,如果其他人在使用 Parse 并遇到类似问题,我希望这会有所帮助。

【讨论】:

以上是关于推送通知在 Apple Beta 测试 (TestFlight) 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

推送外部Beta测试人员的通知

Apple Push Notifications - 应用商店提交

Testflight beta 未向外部测试人员发送电子邮件或推送通知

如何在没有 iPhone 的情况下测试 Apple 推送通知服务?

提交二进制文件进行 Beta 测试:“缺少推送通知权利”

如何从 iPhone 应用程序测试 Apple 推送通知?