StoryBoardを使わずにtabBarAppを作っています。AppDelegate.mに以下のようなコードを書いています。

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

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    //tabBarの生成
    [self initTabBar];

    if([self isFirstRun]){
        //初回起動の場合、別のviewControllerに遷移
    }

    return YES;
}

初回起動時に表示されるviewControllerはtabBarもnavigationBarも使っていません。初回設定が終わった後に通常時はじめに表示されるviewControllerに遷移すると、tabBarが生成されません。初回設定のviewControllerをすべて破棄してはじめの画面に遷移したいのですが、どうすれば良いでしょうか。

---追記---
ご指摘ありがとうございます。以下がinitTabBarのコードです。

-(void)initTabBar{
    FirstTabViewController *firstTabViewController = [[FirstTabViewController alloc] initWithNibName:nil bundle:nil];
    SecondTabViewController *secondTabViewController = [[SecondTabViewController alloc] initWithNibName:nil bundle:nil];
    ThirdTabViewController *thirdTabViewController = [[ThirdTabViewController alloc] initWithNibName:nil bundle:nil];

    self.tabBarController = [[UITabBarController alloc] initWithNibName:nil bundle:nil];
    self.tabBarController.viewControllers = [NSArray arrayWithObjects:firstTabViewController, secondTabViewController, thirdTabViewController, nil];
    self.tabBarController.delegate = self;

    firstTabViewController.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"first" image:nil selectedImage:nil];
    secondTabViewController.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"second" image:nil selectedImage:nil];
    thirdTabViewController.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"third" image:nil selectedImage:nil];

    [self.window setRootViewController:tabBarController];
    self.window.backgroundColor = [UIColor whiteColor];
    [window makeKeyAndVisible];
}

---さらに追記---
ご指摘ありがとうございます。以下がisFirstRunのコードです。

-(BOOL)isFirstRun{
 NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
 if([ud objectForKey:@"firstRunDate"]){
     return NO;
 }
 return YES;
}

初回起動の場合の処理については以下のように行っています。

SetupViewController *setupVC = [[SetupViewController alloc] init];
[self.window setRootViewController:setupVC];

また、SetupViewControllerでの設定が終了したあとは以下のようなコードで遷移させています。

FirstTabViewController *firstTabVC = [[FirstTabViewController alloc] init];
firstTabVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:firstTabVC animated:YES completion:nil];

すると、遷移後にTabBarが表示されないという問題が生じます。