Когда ваш RootViewController подключен к главному окну в файле NIB, метод viewDidLoad RootViewController фактически вызывается до applicationDidFinishLaunching: метод ApplicationDelegate. (По крайней мере, это мой опыт.)
Это проблематично, если вы хотите установить значения по умолчанию или выполнить другую работу до того, как RootViewController даже начнет загружать свое содержимое.
Решение состоит в том, чтобы переопределить - (void) awakeFromNib в ApplicationDelegate. Это самая ранняя точка входа, которую я знаю в приложениях на основе NIB (за исключением метода initD в ApplicationDelegate).
Это хороший справочник: http://cocoawithlove.com/2008/03/cocoa-application-startup.html