 <p>In apps with user sessions, it is usually best to keep login/signup on a separate view hierarchy from the rest of the app and present the internal structure if there is an active session. You can achieve this by checking for</p> <pre><code>[PFUser currentUser] </code></pre> <p>as it will return <code>nil</code> if the user is not logged in.</p> <p><strong>Provide a check in your AppDelegate like so:</strong></p> <pre><code>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // .. Rest of your initialization code if ([PFUser currentUser]) { // Let's pop them right to the home screen [self showHomeScreen]; } else { // Present login vc LoginView *lv = [[LoginView alloc] init]; UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:lv]; self.window.rootViewController = nav; } return YES; } - (void)showHomeScreen { SidebarViewController *sbvc = [[SidebarViewController alloc] init]; UINavigationController *menuVC = [[UINavigationController alloc] initWithRootViewController:sbvc]; UIViewController *home = [[UIViewController alloc] init]; UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:home]; SWRevealViewController *revealController = [[SWRevealViewController alloc] initWithRearViewController:menuVC frontViewController:nav]; self.window.rootViewController = revealController; } </code></pre> <p>Then, by including</p> <pre><code>- (void)showHomeScreen; </code></pre> <p>in <code>AppDelegate.h</code>, you can call this method upon successful registration/login:</p> <pre><code>AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; [delegate showHomeScreen]; </code></pre>