Do you need to use different controllers depending on check result? If yes than there are few suggestions. You can cover your view with some activity view which covers all screen, wait for checking and than remove activity view. Another thing you can try is making another view controller in storyboard and move starting arrow to it. You can try to login and after it perform correct segue. And at least i can suggest to create root view controller programmatically.
something like this.
- (void)applicationDidFinishLaunching:(UIApplication *)application {
UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
levelViewController = [[LevelViewController alloc] init];
window.rootViewController = levelViewController;
[window makeKeyAndVisible];
}