Как мне обойти это новое предупреждение в Xcode 4.3.1: "Сцена недоступна из-за отсутствия точек входа..."?
У меня есть проект iOS с раскадрой. Недавно я обновился до Xcode 4.3.1, и теперь появляется это новое предупреждение:
"Сцена недоступна из-за отсутствия точек входа и не имеет идентификатора для доступа во время выполнения через -instantiateViewControllerWithIdentifier:."
Проблема в том, что у меня есть некоторые контроллеры навигации в раскадровке без каких-либо точек входа. Причина, по которой они у меня есть, заключается в том, что я могу встроить в них другие представления, чтобы увидеть навигационную панель во время разработки в Xcode. Фактический навигационный контроллер, на который накладываются эти представления во время выполнения, находится не в раскадровке (старый код, который еще не был перенесен в раскадровку).
Кто-нибудь нашел хорошее обходное решение для этого? Я бы хотел, чтобы мой код был чистым без предупреждений.
Ответы
Ответ 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" теперь заполнено различными настройками свойств.
В панели "Инспектор атрибутов" прокрутите вниз до раздела "Контроллер просмотра", и если "Контроллер начального просмотра" не установлен, проверьте это.
Теперь запустите проект. Надеюсь, что это помогает и работает.