解析不发送iOS7的推送通知

时间:2015-08-19 19:12:42

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

我已经按照Parse的相关Push设置指南进行了操作。

在iOS7设备和iOS8设备上测试应用时,从推送开始时调用相同的方法:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
    DebugLog(@"%s",__PRETTY_FUNCTION__);
    if (application.applicationState == UIApplicationStateInactive) {
        [PFAnalytics trackAppOpenedWithRemoteNotificationPayload:userInfo];
    }
    if (completionHandler) {
        completionHandler(UIBackgroundFetchResultNoData);
    }
    [PFPush handlePush:userInfo];
}

虽然在iOS7上调用了[PFAnalytics trackAppOpenedWithRemoteNotificationPayload:userInfo];方法,但Parse中并未显示数据。

例如,检查已发送的推送显示已打开的数量。如果我将推送发送到iOS7设备和iOS8,则会调用相同的代码部分。但是,它仅针对iOS8版本进行了录制。还有什么我应该做的吗?

我们已遵循相关指南:https://parse.com/docs/ios/guide#push-notifications

这也是实施的:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
    DebugLog(@"%s",__PRETTY_FUNCTION__);
    if (application.applicationState == UIApplicationStateInactive) {
        // The application was just brought from the background to the foreground,
        // so we consider the app as having been "opened by a push notification."
        [PFAnalytics trackAppOpenedWithRemoteNotificationPayload:userInfo];
    }
    [PFPush handlePush:userInfo];
}

1 个答案:

答案 0 :(得分:0)

该问题是由某些通知权限测试引起的。

测试通知权限时,提示只会首次出现。要获得再次提示,您需要:
删除应用程序并重置设备
将其打开并将日期更改为将来日期,再次重置
打开它并重新安装/构建应用程序,将再次出现权限提示。

我们一直在为iOS7和iOS8设备上的一些测试完成此操作。问题似乎是在iOS7设备上,尽管推送通知被称为未被记录,但这似乎与未来的日期有关。

iOS8设备上的日期也是未来,但可能不会遥遥领先。当设备上的日期设置为正确日期时,再次记录iOS7设备上的推送通知。