Подтвердить что ты не робот

Как мне обойти это новое предупреждение в Xcode 4.3.1: "Сцена недоступна из-за отсутствия точек входа..."?

У меня есть проект iOS с раскадрой. Недавно я обновился до Xcode 4.3.1, и теперь появляется это новое предупреждение:

"Сцена недоступна из-за отсутствия точек входа и не имеет идентификатора для доступа во время выполнения через -instantiateViewControllerWithIdentifier:."

Проблема в том, что у меня есть некоторые контроллеры навигации в раскадровке без каких-либо точек входа. Причина, по которой они у меня есть, заключается в том, что я могу встроить в них другие представления, чтобы увидеть навигационную панель во время разработки в Xcode. Фактический навигационный контроллер, на который накладываются эти представления во время выполнения, находится не в раскадровке (старый код, который еще не был перенесен в раскадровку).

Кто-нибудь нашел хорошее обходное решение для этого? Я бы хотел, чтобы мой код был чистым без предупреждений.

4b9b3361

Ответ 1

Вы можете просто установить идентификатор. В Xcode > 5 на инспекторе идентификации на правой панели вы найдете поле под названием "Искатель раскадровки". Поместите туда любую строку, и Xcode снова будет счастлив.

Он просто хочет знать, что вы можете связаться с ним (через этот идентификатор), если хотите.

Ответ 2

В новых версиях Xcode: просто установите заголовок в Title в Инспекторе атрибутов, а затем установите идентификатор в Storyboard ID в Identity Inspector вашего контроллера.

Ответ 3

Возможно, вы случайно скопировали и вставили контроллер представления поверх реального.

Попробуйте перетащить оскорбительный вид, чтобы увидеть, есть ли что-нибудь внизу.

Ответ 4

Вы можете щелкнуть по контроллеру навигации, а под инспектором атрибутов нажать кнопку "является начальным контроллером представления", это тоже должно работать.

Ответ 5

В Xcode 6 - вы можете получить эту ошибку, если у вас есть новый контроллер представлений, который стоит сам по себе. Возможно, вы создали его и не использовали segue для подключения экрана.

Ответ 6

Вам нужно установить идентификатор для каждого ViewController (включая навигационный контроллер) в поле "Идентификатор раскадровки" на панели "Identity Inspector".

В панели "Инспектор атрибутов" прокрутите вниз до раздела "Контроллер просмотра", и если "Контроллер начального просмотра" не установлен, проверьте это.

Теперь запустите приложение.

Ответ 7

Заголовок: Настройка "является начальным контроллером просмотра" (с использованием Xcode 6.1)

Фон: Сбой сборки с "Сцена недоступна из-за отсутствия точек входа и не имеет идентификатора для доступа во время выполнения через -instantiateViewControllerWithIdentifier:."

Только что установленный Xcode и первый пользователь, поэтому заранее извинитесь, если в объяснениях отсутствует соответствующая терминология.

Разрешение: В моем случае флажок "Начальный просмотр контроллера" не установлен.

"is Initial View Controller" свойство находится в правой правой области окна Xcode по умолчанию или находится под → View → Utilities → Show Attribute Inspector

Если вы не видите каких-либо свойств, установленных в "Attribute Inspector", выберите "View Controller" в области панели рассказов. Маленькая круглая кнопка с квадратом посередине (или первая кнопка слева)

Когда вы выберете "View Controller", вы увидите, что окно "Attribute Inspector" теперь заполнено различными настройками свойств.

В панели "Инспектор атрибутов" прокрутите вниз до раздела "Контроллер просмотра", и если "Контроллер начального просмотра" не установлен, проверьте это.

Теперь запустите проект. Надеюсь, что это помогает и работает.