Где MainWindow.xib в новом проекте Xcode?

Я начал новый проект в Xcode 4 с помощью шаблона TabBar. Я заметил, что в проекте не было файла MainWindow.xib.

  • Удалось ли Apple избавиться от этого файла?
  • Как я могу получить доступ к Mainwindow без этого файла?

Ответ 1

MainWindow.xib для начала был излишним, учитывая, что на самом деле он не содержит никаких "видимых" компонентов (думая о окне как невидимом контейнере) и, как правило, вам не нужно его изменять, (Тем не менее, я только начинаю заниматься разработкой iOS, поэтому я был бы признателен за то, что мое наблюдение исправлено, если я ошибаюсь).

Функция MainWindow.xib в бета-версии была заменена кодом: сравните автоматически сгенерированное (-) приложение: didFinishLaunchingWithOptions: из того же шаблона в текущей и бета-версии Xcode, и вы должны быть в состоянии следить за тем, что происходит.

Ответ 2

Если вы используете бета-версию iOS SDK, прочитайте примечания к выпуску и документ "Что нового в iOS". Вы можете найти документы на developer.apple.com при входе в систему как член программы разработчика iOS.

Ответ 3

Я только что создал пустой проект панели вкладок в Xcode 4, а MainWindow.xib. Возможно, вы случайно удалили его. Попробуйте создать новый проект с нуля, он должен быть там.

Ответ 5

По причине отсутствия MainWindow.xib вы можете обратиться к этому ответу. И вы можете обратиться к Требуется ли MainWindow.xib, действительно нуждающееся в приложении iOS? для более подробного обсуждения.

На самом деле вам не нужен MainWindows.xib. Вы можете найти код реализации вашего класса класса AppDelegate:

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

который расскажет вам, как вы загружаете xib файлы и подключаетесь к окну.

И вы должны искать свой main.m, вы найдете такой код

UIApplicationMain(argc, argv, nil, @"MyAppDelegateClassName");

или

UIApplicationMain(argc, argv, nil, NSStringFromClass([myAppDelegate class]));

а не

UIApplicationMain(argc, argv, nil, nil);

Этот оператор заставляет загружать AppDelegate.