无声通知将无法在TestFlight中发送

时间:2015-03-29 01:12:10

标签: ios parse-platform ios8 push-notification apple-push-notifications

我的应用程序在很大程度上依赖于静默通知来向用户发送数据。此功能在开发中运行良好,但是当我使用TestFlight进行测试时,它不起作用。我读到这是一些iOS版本中可能存在的错误,但我没有运行它们中的任何一个。我正在使用parse发送推送通知,它说通知已发送,但它没有执行任何代码didReceiveRemoteNotification有没有人知道为什么这不起作用?

Parse.Push.send({
    where: pushQuery,
    data: {
        "content-available" : 1,
        "sound" : "",
        "time" : alarmTimeDate,
    },
    push_time: alarmTime
}, { }).then(function() {
    response.success("Push was sent successfully.")
}, function(error) {
    response.error("Push failed to send with error: "
+ error.message);
});
},

error: function(user, error) { // error is an instance of Parse.Error. } });

 });

2 个答案:

答案 0 :(得分:1)

所以我终于得出了结论。事实证明,在iOS 8中,无声通知不保证在使用生产证书时didReceiveRemoteNotification中的代码执行。在开发中,它的工作方式与在iOS 7中的工作方式相同,但不在生产中。你可以阅读更多关于这个问题here.“苹果公司不承认这种背景行为的变化是一个错误,他们承认这一变化,但却说它是故意的。” - mungbeans

希望这有助于任何有同样问题的人,抱歉告诉你这个消息。因此,我需要重建我的整个应用程序。

答案 1 :(得分:0)

在开发中,我假设您使用的是与您在Parse上配置的推送证书相关联的开发配置文件。

使用TestFlight时,您需要使用Release配置文件。该配置文件将与不同的推送证书相关联。因此,如果您尚未配置发布推送证书(并且已启用推送应用程序ID以进行分发),那么您就不会在TestFlight构建中看到推送。

我之前没有使用Parse进行推送,但是在Urban Airship中,它们可以让您轻松为单个应用配置开发和发布证书。

希望有所帮助!