Push-просмотр из push-уведомлений
Я успешно получаю свои уведомления для iOS 5. Я хочу иметь возможность отправлять пользователям определенный вид, когда они проводят пальцем или нажимают на push-уведомление в центре уведомлений.
Контроллер представления (представление) Я хочу, чтобы пользователь переходил в отличие от запуска моего приложения, это «groceryStoreViewController». Я читал, что это делается в didFinishLaunchingWithOptions или didReceiveRemoteNotification, но я не уверен.
Если кто-нибудь знает, как это сделать, я был бы очень признателен, так как это была настоящая борьба.
Спасибо
EDIT
Поэтому проблема в том, что я хочу, чтобы конкретный контроллер представления открывался, когда пользователь нажимает на уведомление, но я также хочу, чтобы UITabBar оставался. Мне не удалось сделать это, и это как-то связано с тем, что я показываю подпредставление, которому я верю. Пожалуйста, дайте мне знать, что вы думаете, и большое спасибо.
<code>- (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; } </code>