【问题标题】:How do I make my debug app version receive production push notifications on iOS?如何让我的调试应用程序版本在 iOS 上接收生产推送通知?
【发布时间】:2014-08-20 22:02:55
【问题描述】:

我的服务器只运行一个发送推送通知的版本,它有我的生产(发布)推送证书。

如何使用相同的生产证书在我的调试设备和调试版本上测试通知?

我的设备正在发送令牌,但是当我尝试发送真正的推送通知时,Apple 服务器返回状态 8 错误,这意味着设备令牌不正确。

【问题讨论】:

    标签: ios ios7 push-notification xcode5 apple-push-notifications


    【解决方案1】:

    聚会有点晚了,但即使所有其他答案都是正确的,他们也没有真正回答你的问题。

    答案是:您无法使用调试版本测试生产 APNS。

    Debug 构建将始终获得 沙盒 APNS 令牌。

    发布构建(临时或应用商店)将始终获得生产 APNS令牌。

    这背后的逻辑是,为了调试应用程序,您需要使用调试证书和配置文件进行签名。该配置文件决定了您的应用连接到哪个 APNS 端点。

    【讨论】:

    • Release builds (ad-hoc or app store) will always get production 令人困惑。 Xcode 中的调试和发布版本都使用开发 APN,我已经对此进行了测试。通过 Ad Hoc 或 App Store 分发改变了应用程序使用生产 APN 的权利。我想强调构建和分发之间的区别。
    【解决方案2】:

    如果您使用开发配置文件构建应用,您将收到一个沙盒设备令牌,该令牌仅在沙盒推送环境中有效(使用沙盒推送服务器和沙盒推送证书)。

    如果您使用生产或 AdHoc 配置文件构建应用,您将收到生产设备令牌,该令牌仅在生产推送环境中有效(使用生产推送服务器和生产推送证书)。

    【讨论】:

    • 在 Pusher 应用程序中,我的生产推送证书显示了两个选项(沙盒|生产),这是否意味着如果我启用(沙盒)选项,是否有任何方法可以调试临时构建的推送通知生产证书? ibb.co/Mp4vc50
    【解决方案3】:

    如果您想在生产模式下测试您的应用,您需要使用 ad hoc 分发您的应用的分发版本。

    当您的应用程序准备好提交时,您创建一个临时配置文件,指定一个与您的一个或多个应用程序匹配的应用程序 ID、一组测试设备和一个分发证书。

    这是一张图片来说明配置文件的工作原理:

    【讨论】:

      【解决方案4】:

      也许解决方法是同时发送生产和沙盒推送通知。我认为如果您想测试内部(例如使用 AdHoc 构建)可能会有所帮助;但是,我认为在你的生产环境中部署这种奇怪的方式是不合理的。

      【讨论】:

        猜你喜欢
        • 2016-08-22
        • 2017-12-22
        • 2016-05-18
        • 2011-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-26
        • 2021-11-26
        相关资源
        最近更新 更多