【问题标题】:application:didReceiveRemoteNotification:fetchCompletionHandler: NOT Called iOS 9 [duplicate]应用程序:didReceiveRemoteNotification:fetchCompletionHandler:未调用iOS 9 [重复]
【发布时间】:2016-08-10 09:43:24
【问题描述】:

我想在应用程序中保存一些推送通知数据。但是如果用户通过在多任务查看器上向上滑动应用程序来终止应用程序(暂停或未运行状态),我无法保存数据。我使用了 application:didReceiveRemoteNotification:fetchCompletionHandler :处理它。但我仍然无法保存推送通知数据

我已经设置了这样的应用设置

和有效载荷,

 {
    "aps" : {
       "alert" = "Notification with custom payload",
    },
   "content-available" = 1
 }

而 application:didReceiveRemoteNotification:fetchCompletionHandler: 看起来像这样

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {

    if(application.applicationState == UIApplicationStateInactive) {

        NSLog(@"Inactive");

        //Show the view with the content of the push

        completionHandler(UIBackgroundFetchResultNewData);

    } else if (application.applicationState == UIApplicationStateBackground) {

        NSLog(@"Background");

        NSString *info = [[userInfo valueForKey:@"aps"]valueForKey:@"alert"];

        completionHandler(UIBackgroundFetchResultNewData);

    } else {

        NSLog(@"Active");

        //Show an in-app banner

        completionHandler(UIBackgroundFetchResultNewData);

    }
}

【问题讨论】:

  • @Ewan Mellor ,@Anbu.Karthik .Ok .告诉我,当应用程序处于挂起状态时,有什么方法可以保存推送通知数据?

标签: ios objective-c push-notification apple-push-notifications


【解决方案1】:

这是完全正常的。如果您检查设备的控制台日志,您将看到来自系统的消息,指出它不会唤醒应用程序,因为它已被用户终止。

【讨论】:

  • 问题不叫application:didReceiveRemoteNotification:fetchCompletionHandler 当应用程序处于挂起或未运行状态。收到通知时应用程序不想打开
  • Apple 文档很清楚。您正在看到设计和预期的行为。如果你想知道你还能做什么,你必须问另一个问题。警告:这个问题也已经被提出并回答了。
  • 而不是知道一切你可以发布链接到那个问题@Avi
  • 追踪此类信息不是我的工作。如果 OP 想要它,他知道如何找到它。如果不出意外,发布问题将获得答案或他复制的问题的链接。我回答了这里发布的问题,这就足够了。
猜你喜欢
  • 2013-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-01
  • 2017-06-25
  • 1970-01-01
  • 2016-09-14
  • 2015-12-07
相关资源
最近更新 更多