APN 用于开发而非分发

Posted

技术标签:

【中文标题】APN 用于开发而非分发【英文标题】:APN works in development not in distribution 【发布时间】:2015-07-11 13:32:35 【问题描述】:

我们有一个使用 APN 的 iPhone 应用程序,在沙盒上的测试非常完美,现在我们看到的问题是 APN 在生产中没有到达手机,这是 iPhone 上的一个已知问题吗?我们的应用程序在两天前刚刚获得批准。

我们检查了here 提到的所有内容, 我知道这个问题很难回答,我想我正在寻找任何提示。

这是我确定的:

我使用不同的 APN 令牌进行生产而不是开发 配置文件启用了推送通知 Apple APN 服务成功响应且未报告任何问题。 证书似乎没问题。当我解压 ipa 时,我看到 aps-environment 在发行版 ipa 中指的是 production。 下载 Store ipa 并解压,但发现它也将 aps-environment 设置为生产。
更新:

我删除了所有证书和配置文件,并创建了一个支持推送通知的新生产/分发证书。

现在,当我安装商店版本时,APN 仍然无法正常工作。但是,我使用了我在本地构建的最新 Ad-Hoc,并且 APN 运行良好。我决定用 Store 版本替换 Ad-Hoc,结果 APN 开始工作了。我不确定是什么问题,我将不得不检查其他手机是否真的有效。有没有人有类似的情况?

【问题讨论】:

您是否从应用商店下载了二进制文件并正在尝试? 是的,我这样做了,我发现 aps 环境也是生产环境。 通知不能保证送达,但这似乎很极端。您是使用自己的服务器发送还是使用第三方发送? 我正在使用我自己的服务器和我自己的增强 APN 的 C 语言实现。它提供良好,并且不会断开连接。 不不,我的问题是您是否从应用商店下载了您的应用程序,安装并尝试了 【参考方案1】:

老问题,但我也有同样的烦恼。

刚刚找到这个链接:iPhone ios push notifications apns on production not sending

对于生产,您需要一个不同的 URL 来推送通知:

ssl://gateway.sandbox.push.apple.com:2195 Development

ssl://gateway.push.apple.com:2195 Production

这为我解决了问题。

【讨论】:

以上是关于APN 用于开发而非分发的主要内容,如果未能解决你的问题,请参考以下文章

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

用于业务分发的 IOS Provisioning Profile

APNS 不适用于 Google App Engine 上的 AdHoc 分发配置文件

苹果推送通知——分发和开发同时进行

UIAutomation 不适用于 IPA 的分发类型

CoreLocation 不适用于 iOS 8 上的 Adhoc 分发