2015-06-04 1 views
4

Я работаю над своим проектом xcode. я просто очистил проект и попытался построить проект. не знаю, что случилось, я получил очень странную ошибку.iOS раскадровка weird error - 'NSInternalInconsistencyException' (Main.storyboardc)

*** Нагрузочный приложение из-за неперехваченного исключением «NSInternalInconsistencyException», причина: «Не удалось загрузить СИБ в пачке:„NSBundle (загружен)“с именем„UIViewController-БСА-ХТ-TPG“и каталог» Main .storyboardc '

Не знаю, какой код мне нужно проверить !! Я ответил на какой-то вопрос, связанный с этим, но не могу решить мою проблему.

EDIT: -

, когда я пытался искать storyboardc в Find штурмана. он дает такой результат.

Storyboardc in Find navigator

Edit:

Я также не в состоянии увидеть раскадровку в фазах сборки. я попробовал его добавить вручную, но все же он появляется в красном символе, как это.

Storyboard not detected in build phases

+0

Вы используете любой файл xib (With the Story board)? –

+0

есть. Я использую только 'LaunchScreen.xib'. –

+1

«Main.storyboardc»? Дополнительный «c» в названии? – Sreejith

ответ

3

Моя проблема решена. не знаю, это правильный метод или нет. Я перемещаю Main.storyboard от Base.lproj в любую другую папку. затем удалите Main.storyboard из этой папки и снова перетащите его в mainbundle означает project window и отметьте все в localization.затем очистить и построить и успешно запустить проект.

+0

Просто удаление и повторное добавление раскадровки работало в моем случае. Я переименовал его в одно и то же время (я намеревался какое-то время), поэтому я не уверен, что это повлияло на что-то или нет. – arsenius

+0

Просто удаление и повторное добавление раскадровки и Я просто очистил проект, используя cmd + shift + K. Затем также очистите папку с помощью opt + cmd + shift + K. Наконец-то это сработало. – Grigo

1

Попробуйте Ctrl + Alt + Shift + K (чистая папка сборки) и строить. Это должно решить проблему, если это просто несогласованность.

Там могут быть и другие причины для получения этой ошибки, а

  1. Существует возможность вы обращаетесь к UIControl, прежде чем она конкретизируется. Это может также вызвать этот вопрос - и это то, что в общем случае приводит к таким проблемам

  2. инстанцирования неправильного контроллера представления - связанный с 1 таким образом (проверьте иерархию и экземпляры, созданные в App делегате)

  3. Проблема с запуском - вы что-то делаете при запуске, что может задержать загрузку приложения?

+0

Я пробовал с Cmd + Alt + Shift + K но не решен. Я проверил иерархию, не проблема в этом. В startup он загружает всплеск из .xib, но он отлично работает. Запуск всплывающего экрана, а затем эта ошибка возникает. И я не думаю, что это проблема с памятью. –

+0

Возможно, вы захотите выполните отладку и проверку. Если какой-либо из элементов управления ui в ваших представлениях открывается до создания представления (скажем, в initWithCoder :), вы получит эту ошибку. – lostInTransit

+0

Я новичок в ios. поэтому я не знаю, как использовать отладчик. вы можете дать мне ссылку или что-то, что показывает процесс обработки или информацию об отладке. –

0

Возможно, this SO thread имеет отношение к делу. Я думаю, что важной частью ошибки является «UIViewController-bSa-xT-TPG», а не файл storyboardc.

Убедитесь, что у вас есть «UIViewController-bSa-xT-TPG» в вашей раскадровке/XIB. Вы можете щелкнуть правой кнопкой мыши раскадровку и выбрать «открыть как исходный код» (чтобы вернуться назад, просто щелкните правой кнопкой мыши и выберите «открыть как« Конструктор интерфейсов - раскадровка »).

Поиск «UIViewController-bSa-xT-TPG», если он не существует, тогда у вас есть проблема. Если вы ищете «UIViewController-bSa-xT-TPG» в проекте, что вы получаете?

+0

Georgii-Hemmi: - Я пробовал этот вариант, но не успел. –

2

Это может быть связано с тем же именем, что и именованный идентификатор раскадровки, назначенный двум различным контроллерам вида, присутствующим в одной раскадровке. Так простое решение, чтобы найти это, найти имя контроллера, который вызывает «Найб не удалось найти» в main.storyboard. в моем случае это был «MarksViewController», который я использовал случайно дважды в качестве идентификатора раскадровки.