Cómo usar la misma notificación en primer plano de background en APNS

Estoy desarrollando APNS. Cuando envíe APNS, proporcione url y mueva la url. APNS tuvo éxito, pero cuando la aplicación se estaba ejecutando, no pudo recibir notifications en primer plano. Sin embargo, en el background, es trabajo. cuando está en primer plano, simplemente se mueve a la URL sin notificación. Usted me podría ayudar..?

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { UIApplicationState state = [UIApplication shanetworkingApplication].applicationState; BOOL state_active = (state == UIApplicationStateActive); dic_apns = [userInfo objectForKey:@"aps"]; // alert export NSString * msg = [dic_apns objectForKey:@"alert"]; NSString * eventcode = [userInfo objectForKey:@"eventcode"]; [[NSUserDefaults standardUserDefaults] setValue :msg forKey:@"push_msg"]; [[NSUserDefaults standardUserDefaults] setValue :eventcode forKey:@"eventcode"]; [[NSUserDefaults standardUserDefaults] synchronize]; NSLog(@"APNS : msg=%@ | eventcode=%@", msg , eventcode); [self goto_link]; [[UIApplication shanetworkingApplication] setApplicationIconBadgeNumber:0]; } -(void) goto_link{ NSString * eventcode = [[NSUserDefaults standardUserDefaults] valueForKey:@"eventcode"]; NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@%@", _MAIN_URL, _PUSH_PARAM, eventcode]]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; ViewController* main = (ViewController *) self.window.rootViewController; if (!main.webview_sin ) { NSLog(@"main.webView is nil!!!"); } [main.webview_sin loadRequest:request]; } 

cuando está en primer plano simplemente se mueve a url sin notificación

Este es el comportamiento esperado. Las notifications no se muestran si su aplicación se está ejecutando.

En su lugar, podría usar un UIAlertController para mostrar el post al usuario

 -(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { if (application.applicationState == UIApplicationStateActive) { UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Notification" message:/* Get the message from APS */ prefernetworkingStyle:UIAlertControllerStyleAlert]; UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"Dismiss" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) { //Do Nothing }]; [alertController addAction:cancelAction]; [/*pick an appropriate view controller */ presentViewController:alertController animated:YES completion:nil]; } } 

Algún código fue adaptado desde aquí.