2010-02-26 7 views
1

Я только что закончил одно из своих приложений, когда получил это сообщение. Я не могу для жизни меня разобраться в том, что не так.Завершение приложения из-за неперехваченного исключения// SIGABRT // C++

(gdb) continue 
2010-02-26 14:05:51.443 BrainTester[2638:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] was unable to load a nib named "SplitSecondViewController"' 
2010-02-26 14:05:51.452 BrainTester[2638:207] Stack: (
    861696817, 
    860329709, 
    861252493, 
    861252395, 
    835170725, 
    835170141, 
    835074651, 
    13515, 
    834774231, 
    834773467, 
    835014237, 
    835012689, 
    835011495, 
    861063661, 
    861449261, 
    861447005, 
    834770767, 
    834765939, 
    11025, 
    10920 
) 
terminate called after throwing an instance of 'NSException' 
Program r 

принятый сигнал: “SIGABRT”. (gdb)

Если кто-то может помочь, любая помощь будет оценена.

+1

сначала убедитесь, что у вас есть файл SplitSecondViewController.n (x) ib в вашем пакете. – Vladimir

+1

удалить тег C++, здесь это не относится – conorgriffin

+0

Вы решили проблему? Пожалуйста, отметьте правильный ответ, чтобы отметить это сообщение как ответ. –

ответ

0

У вас явно было исключение NSInvalidArgumentException и не было обнаружено, вызвав std :: terminate() и завершая программу. Не знакомый с iPhone SDK, я не могу больше помочь. Обратитесь к документам API, чтобы узнать, откуда они могли быть выбраны.

Сообщение об ошибке подразумевает, что объект UIViewController не смог выполнить сообщение _loadViewFromNibNamed с аргументом SplitSecondViewController, если мое чтение синтаксиса Objective-C++ является правильным.

К сожалению, я не могу больше ...

0

ли SplitSecondViewController.nib был добавлен в проект и он в обычном каталоге?

Кроме того, это исключение Objective-C, а не исключение C++.

0

Это может произойти, когда вы переименовываете файлы nib, но не распространяете изменение имени в проекте. Вы переименовали SplitSecondViewController с момента последнего успешного запуска приложения?

Или, если вы удалили SplitSecondViewController на определенном этапе, все равно могут быть ссылки на него в другом месте проекта. Откройте конструктор интерфейса и перейдите к инспектору соединений для главного окна. Если вы удалили SplitSecondViewController на определенном этапе, убедитесь, что соединение с ним в инспекторе соединений удалено.

0

Посмотрите в Xcode на "Цели" -> YourAppName-> Копировать Bundle ресурсы

ли существует XIb-файл там ??

0

У меня была такая же проблема, и ответ Марио решил это для меня. Я конвертировал приложение для iPhone, чтобы работать как на телефоне, так и на iPad. По какой-то причине он не помещал новый xib-файл в Ресурсы копирования Bundle под целью. Как только я добавил его, перетащив XIB-файл из каталога «Ресурсы-iPad», он исправил все.

Спасибо, Марио!