从didReceiveRemoteNotification解析警告:fetchCompletionHandler

Ari*_*osh 67 ios parse-platform

从parse.com添加此代码后出现错误:

- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
    if (application.applicationState == UIApplicationStateInactive) {
        [PFAnalytics trackAppOpenedWithRemoteNotificationPayload:userInfo];
    }
}
Run Code Online (Sandbox Code Playgroud)

我真的不明白发生了什么,但我在日志中收到此警告:

您已实现 - [application:didReceiveRemoteNotification:fetchCompletionHandler:],但您仍需要将"remote-notification"添加到Info.plist中支持的UIBackgroundModes列表中.

我认为添加plist文件UIBackgroundModes - remote-notification可以解决问题,

但是,当我这样做时,它会改变以下内容:

Required Background Modes - > App downloads content in response to push notifications

我的应用程序没有这样做,所以我很困惑为什么我这样做首先.

Hem*_*ang 211

如果您不想在.plist文件中手动添加密钥,那么这里是@ MurraySagal答案的图形版本,按照1到7的步骤操作即可完成.:)

在此输入图像描述

注意:如果您无法读出这些步骤,则可以使用Command+ +(用于放大)和Command+ -(用于缩小)的组合缩小当前选项卡.如果Command不起作用,你可以试试Ctrl.


jom*_*fer 37

我认为@djshiow并没有解决你的问题.

您需要在info.plist文件中添加以下内容:

远程通知

1)添加一个新行,在左栏中选择所需的背景模式.

2)在项目0行上,单击右列并键入:remote-notification.按Enter键.

资料来源:http://hayageek.com/ios-silent-push-notifications/


小智 32

如果您不打算获取数据以响应远程通知,我认为您可以实现此委托方法:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
Run Code Online (Sandbox Code Playgroud)

例如

- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo {
    if (application.applicationState == UIApplicationStateInactive) {
        [PFAnalytics trackAppOpenedWithRemoteNotificationPayload:userInfo];
    }
}
Run Code Online (Sandbox Code Playgroud)

而不是你正在使用的当前.

  • 在iOS 10中 - (void)应用程序:(UIApplication*)应用程序didReceiveRemoteNotification :( NSDictionary*)userInfo`已弃用 (4认同)
  • 主要区别在于您没有实现`didReceiveRemoteNotification:`方法的`fetchCompletionHandler:`版本. (2认同)

Mur*_*gal 22

在Xcode 6中:

  • 在Project Navigator中单击该项目
  • 在"项目和目标"列表中,单击目标.
  • 单击功能
  • 展开并启用背景模式
  • 单击"远程通知"

这将添加Required background modes键和App downloads content in response to push notificationsinfo.plist.