Если вы используете конструктор интерфейса:
В разделе SupportingFiles в -info.plist найдите ключ с именем «Основное имя файла основного пера». Измените это на XIB, который вы хотите загрузить первым
Вы также можете вообще убрать эту запись из списка и в main.m дать ей имя вашего приложения. Delegate:
int retVal = UIApplicationMain(argc, argv, nil, @"HelloViewAppDelegate");
Затем в вашем appDelegate вы можете вручную загрузить свой первый контроллер представления на основе вашего кода и логики. Лично мне это нравится больше, потому что гораздо понятнее - вот мой делегат и код для его загрузки. Он не имеет всех привязок в IB, которые мне нужно запомнить.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
CGRect screenBounds = [[UIScreen mainScreen] applicationFrame];
CGRect windowBounds = screenBounds;
windowBounds.origin.y = 0.0;
// init window
[self setWindow: [[UIWindow alloc] initWithFrame:screenBounds]];
// init view controller
_mainViewController = [[MainViewController alloc] init];
[[self window] addSubview:[_mainViewController view]];
[self.window makeKeyAndVisible];
return YES;
}
EDIT:
Ответ на ваш комментарий ниже. Вы вставили этот неверный код:
// init view controller
ViewController = [[ViewController alloc] init];
[[self window] addSubview:[ViewController view]];
Это не верно. вам нужно имя переменной экземпляра. Называя его «ViewController», вы пытаетесь вызвать переменные члена класса. Если ваш класс называется ViewController, тогда он должен быть:
// notice the instance myviewController is of type ViewController
ViewController *myViewController = [[ViewController alloc] init];
// notice calling view against instance (myViewController)
[[self window] addSubview:[myViewController view]];
На данный момент, если он не компилируется, вам нужно отредактировать свой вопрос и вставить свой main.m и appDelegate точно так же, как в вопросе.