Так что часть этого сводится к организации. Как упоминалось Жюльеном, вам понадобится класс YouappnameApplicationDelegate - фактически, Xcode создаст и настроит его для вас при создании проекта.
реализовать метод applicationDidFinishLaunching (который также должен быть предоставлен тем, что вам дал XCode), и реализовать вашу логику для шагов 1 и 2 (и шагов 7, 8, 9).
Шаги с 3 по 5, которые вы, вероятно, захотите реализовать в другом классе. RegistrationWindowController или что-то в этом роде. Вы можете даже захотеть создать это окно в другом файле пера (не в файле MainMenu.nib, который дает вам Xcode). В методе applicationDidFinishLaunching YouappnameApplicationDelegation вы загрузите этот кончик (см. Пример кода ниже). Таким образом, ваш код будет хорошо организован - это то, чем действительно руководствуется Какао.
Хорошо, теперь, как загрузить этот новый файл пера:
myInstanceVariable = [[RegistrationWindowController alloc] initWithWindowNibName: @"MyNibName"];
[myInstanceVariable showWindow: self];
RegistrationWindowController должен быть подклассом NSWindowController.
Это займет у вас довольно долгий путь в ваших исследованиях, надеюсь, это поможет!