У меня нет уверенности, что у меня есть реальная причина этой проблемы, но я нашел обходной путь.
По какой-то причине я все еще не совсем понимаю, что заменить:
int retVal = UIApplicationMain(argc, argv, nil, @"GHUnitIPhoneAppDelegate");
по
int retVal = UIApplicationMain(argc, argv, nil, @"GHUnitIOSAppDelegate");
в основном файле исправит проблему.
Класс GHUnitIPhoneAppDelegate
наследуется от GHUnitIOSAppDelegate
, но он не включен в окончательный двоичный файл (я запустил nm -a GHUnitIPhoneAppDelegate|grep IPhoneApp
без результата).
Дикая догадка состоит в том, что, поскольку класс наследует только от него (без дополнительных методов или атрибутов), и поскольку нигде в структуре не создан экземпляр этого класса (только упомянутый через строку), компилятор для экономии места,удаляет ее из двоичной информации в режиме iOS.
Надеюсь, это поможет, по крайней мере, у меня сработало.