Ios 如何从通知区域中删除特定的远程通知

Ios 如何从通知区域中删除特定的远程通知,ios,push-notification,Ios,Push Notification,我想搜索特定的推送通知并将其从通知区域中删除。我想要一个类似这样的代码,只是它应该适用于远程通知,而不是本地通知。提前谢谢 for (UILocalNotification *lNotification in [[UIApplication sharedApplication] scheduledLocalNotifications]) { if (![[userRecord valueForKey:@"User"] isEqualToString:[userInfo objectFor

我想搜索特定的推送通知并将其从通知区域中删除。我想要一个类似这样的代码,只是它应该适用于远程通知,而不是本地通知。提前谢谢

for (UILocalNotification *lNotification in [[UIApplication sharedApplication] scheduledLocalNotifications])
{
    if (![[userRecord valueForKey:@"User"] isEqualToString:[userInfo objectForKey:@"User"]])
    {
        [[UIApplication sharedApplication] cancelLocalNotification:lNotification];

    }
}

如果我理解你是正确的-你想跳过客户端上的一些远程通知。 你不能那样做。 您的远程通知从苹果服务器(通常通过您的服务器)发送到iOs系统,然后发送到iPhone或iWatch上的应用程序。 在应用程序中,您可以使用:

@available(iOS 8.0, *)
public func registerForRemoteNotifications()

@available(iOS 3.0, *)
public func unregisterForRemoteNotifications()

@available(iOS 8.0, *)
public func registerUserNotificationSettings(notificationSettings: UIUserNotificationSettings)

@available(iOS 8.0, *)
public func currentUserNotificationSettings() -> UIUserNotificationSettings?
您应该制定自己的逻辑,从自己的服务器发送远程推送。

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
if ([[userInfo objectForKey:@"User"] isEqualToString:@"Your user"])
{
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];

      //Do Nothing
      return;
 }
else
{
//process according to need
}
}

由于远程通知是从服务器发送的,因此只能在接收端或从服务器端进行控制。我希望这会有所帮助。

我想到了这一点,但如果我没有错的话,这将删除所有通知。不,您应该使用这行代码来处理请求通知,例如([[userInfo objectForKey:@“User”]isEqual:@“Your User”])