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; } ```