Empurrar a visualização da notificação por push
Recebo as minhas notificações com êxito para o iOS 5. Quero poder enviar os utilizadores para uma visualização específica quando deslizam ou tocam na notificação de envio no centro de notificações.
O controlador de exibição (view) que eu quero que o usuário vá para se opor apenas ao início do meu aplicativo é o "groceryStoreViewController". Eu li que isso é feito em didFinishLaunchingWithOptions ou didReceiveRemoteNotification, mas não tenho certeza.
Se alguém souber como fazer isso, eu realmente aprecio isso, uma vez que realmente tem sido uma luta.
obrigado
EDITAR
Portanto, o problema é que eu quero que um controlador de visualização específico seja aberto quando o usuário tocar uma notificação, mas também quero que a UITabBar permaneça. Eu não consegui fazer isso com sucesso e tem algo a ver comigo exibindo a subvisualização que acredito. Por favor, deixe-me saber o que você pensa e muito obrigado.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.tabBarItem = [[[UITabBarItem alloc] init] autorelease];
exploreViewController *view1 = [[exploreViewController alloc] initWithNibName:@"exploreViewController" bundle:nil];
view1.title= @"Explore";
Upcoming *view2 = [[Upcoming alloc] initWithNibName:@"Upcoming" bundle:nil];
view2.title = @"Upcoming";
TipsViewController *view3 = [[TipsViewController alloc] initWithNibName:@"TipsView" bundle:nil];
view3.title = @"Tips";
UINavigationController *nav1 = [[UINavigationController alloc] initWithRootViewController:view1];
UINavigationController *nav2 = [[UINavigationController alloc] initWithRootViewController:view2];
UINavigationController *nav3 = [[UINavigationController alloc] initWithRootViewController:view3];
[view1 release];
[view2 release];
[view3 release];
self.tabBarController = [[[UITabBarController alloc] init] autorelease];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:nav1,nav2,nav3,nil];
self.tabBarItem = [[[UITabBarItem alloc] init] autorelease];
[nav1 release];
[nav2 release];
[nav3 release];
if (launchOptions != nil)
{
NSDictionary *remoteNotif = [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];
NSLog(@"Launched from push notification");
//Accept push notification when app is not open
if (remoteNotif) {
NSDictionary *alertBody = [remoteNotif objectForKey:@"loc-key"];
self.window.rootViewController = nav2; //this is what I want displayed when tapped but also maintain tab bar controller
[window addSubview:tabBarController.view];
[window makeKeyAndVisible];
}
}
else {
//Go here if just loading up normally without push
[window addSubview:tabBarController.view];
[window makeKeyAndVisible];
}
return YES;
}