Ios 针对具有特定负载的某些通知的静默推送通知

Ios 针对具有特定负载的某些通知的静默推送通知,ios,swift,xcode,notifications,Ios,Swift,Xcode,Notifications,我试图对用户隐藏一些指定的推送通知,这样用户就看不到它了。 我可以在何处写入在到达时隐藏通知的条件,以使其不显示在通知托盘中。 我试着在AppDelgate中做,但没有成功。我还有别的办法吗 func application(applxication: UIApplication, didReceiveLocalNotification notification: UILocalNotification) { UIApplication.sharedApplication

我试图对用户隐藏一些指定的推送通知,这样用户就看不到它了。 我可以在何处写入在到达时隐藏通知的条件,以使其不显示在通知托盘中。 我试着在AppDelgate中做,但没有成功。我还有别的办法吗

func application(applxication: UIApplication, didReceiveLocalNotification notification: UILocalNotification)
    {
        UIApplication.sharedApplication().cancelLocalNotification(<#T##notification: UILocalNotification##UILocalNotification#>)
        //println("Local Notification Received:\(notification)")
    }
func应用程序(applxication:UIApplication,didReceiveLocalNotification:UILocalNotification)
{
UIApplication.sharedApplication().cancelLocalNotification()
//println(“收到的本地通知:\(通知)”)
}

如果您能在这里帮助我,那将是非常有帮助的。

我尝试了远程通知,而不是本地通知。 因此,根据苹果WWDC 2013,如果您将在付费负载中传递
内容可用“:1
,那么它将充当静默推送通知

因此,只需将
内容可用“:1
包含在您的有效负载中,如下图所示,即可获得静默通知

此外,应用程序中的
Info.plist
应将
ui背景模式设置为远程通知
更多信息请点击这里

希望对你有帮助

快乐编码。

设置

可用内容“:1

移除

身体

警觉的

来自有效载荷

这会给你想要的结果

当您的应用程序接收到此类推送时,它将调用以下方法:

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

我还想隐藏收到的推送通知。有人知道如何处理吗?谢谢@janmenjaya…有没有办法从应用程序端处理这个问题,即使我的“可用内容”为“0”?你可以检查“可用内容”“在委托中,了解哪些是静默通知,哪些不是。我想你是这样问的:如果([[[userInfo objectForKey:@“aps”]objectForKey:@“content available”]isEqualToNumber:[NSNumber numberWithInt:1]]){}不,我的意思是如果我从应用程序收到“content available”:0,我将如何隐藏/不显示特定通知。我想你不能隐藏。这就是为什么苹果公司引入了静默通知的原因,如果可能的话,他们可能没有在WWDC 2013中引入这项新技术。在“可用内容”为“0”的情况下,有没有其他方法通过应用程序处理它?是的,你可以。但它将仅限于运行和后台模式。如果应用程序脱机时“可用内容”设置为0,则您将无法接收或处理它。
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler