How to open another screen instead of Main Screen when push notification received

apple-push-notifications, iphone, objective-c, push-notification, xcode4.5

Solution

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    if (launchOptions != nil) {
         // Launched from push notification
         NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
         //Redirect it to your page here
    }
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    if ( application.applicationState == UIApplicationStateInactive || application.applicationState == UIApplicationStateBackground  )
    {
         //opened from a push notification when the app was on background
         //Redirect it to your page here
    }
}

Problem

I need to know how to open another viewcontroller instead of the main view controller when the push notification received please help me thanks in advance here is my code" ``` - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { sleep(2); [[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)]; self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. NSUserDefaults* ud = [NSUserDefaults standardUserDefaults]; consumerId = [[ud objectForKey:@"consumerId"] intValue]; couponSql = [[CouponsSqlClass alloc] init]; if (consumerId == 0) { self.viewController = [[LandingPageViewController alloc] initWithNibName:@"LandingPageViewController" bundle:nil]; self.window.rootViewController = self.viewController; } else { application.applicationIconBadgeNumber = 0; EditProfileViewController* mainViewController = [[EditProfileViewController alloc] initWithNibName:@"EditProfileViewController" bundle:nil]; _mainViewNavController = [[UINavigationController alloc] initWithRootViewController:mainViewController]; KluebookMenuViewController* leftSideMenuViewController = [[KluebookMenuViewController alloc] initWithNibName:@"KluebookMenuViewController" bundle:nil]; self.deskController = [[IIViewDeckController alloc] initWithCenterViewController:self.mainViewNavController leftViewController:leftSideMenuViewController]; self.deskController.leftLedge = 60; self.window.rootViewController = self.deskController; } [self.window makeKeyAndVisible]; return YES; } ```

Original source