application:didFinishLaunchingWithOptions: не вызывается на iPad

У меня есть проект, над которым я работаю, чтобы подготовить его для Retina 4. Ранее он использовал файлы MainWindow.xib (один для iPhone и один для iPad), но я удалил их (и ссылки на них в настройках проекта) и заменил его выделением окна в методе application:didFinishLaunchingWithOptions: приложения. Все работает нормально на iPhone со старым и новым разрешением, однако, когда я попробовал это на iPad (симулятор и устройство). Приложение: didFinishLaunchingWithOptions: никогда не вызывается ... Я поместил NSLog в начало метода, чтобы убедиться, что это не t просто молча падает, но я никогда не получаю вывод журнала. Приложение запускается и просто становится черным. Я попытался сбросить симулятор, но снова это происходит на устройстве и симуляторе, и это не имело никакого эффекта. Это происходит в iOS 5, 5.1 и iOS 6 как на сетчатке, так и без сетчатки, а также на устройствах, поэтому проблема не в ОС или симуляторе. Точно такой же код (универсальный проект) отлично работает на iPhone, поэтому я немного озадачен тем, как он может запутаться и игнорировать делегата приложения...


person ima747    schedule 16.09.2012    source источник
comment
Покажите нам свой код от main.m.   -  person Till    schedule 16.09.2012


Ответы (1)


Существуют различные способы установки класса AppDelegate. NIB — это одно, основная процедура — другое:

main.m
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
person David H    schedule 16.09.2012
comment
Да! Я идиот. Совершенно забыл, что метод NIB обходит основную настройку делегата приложения. Что поднимает другой вопрос: почему это работало на iPhone БЕЗ NIB или основного инициализатора... я подозреваю, что гремлины ломают вещи в обратном порядке... - person ima747; 16.09.2012