it-swarm.com.ru

На экранах запуска не могут быть заданы пользовательские имена классов

Я попытался добавить пользовательский класс в свою ячейку табличного представления, но после добавления он выдает следующую ошибку:

 enter image description here

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

 enter image description here

Это мои общие настройки для основного и интерфейса запуска.

Я использую Swift.

30
Genfood

Перейдите в свойства вашего Main.storyboard и убедитесь, что Use as Launch Screen не выбран. Похоже, вы выбрали его по ошибке.

 enter image description here

68
Paulw11

У меня всегда есть отдельный экран-заставка, который загружает приложение первого вида контроллера .  Splash Screen Storyboard

Это файл, в который вы хотите добавить всю бизнес-логику или показать спиннер/загрузчик и т.д.

Чтобы это работало, вам нужно настроить цель развертывания вашего проекта, как показано .  Target Deployment info

Обратите внимание, что вы не можете добавить любой другой пользовательский класс в LaunchScreen. Это ViewController, который нужно просто показывать, пока приложение не запустится. На этом этапе жизненного цикла приложения еще ничего не было запущено. Это почти похоже на статическое изображение (до iOS7 раньше было только статичным изображением). Начиная с iOS9 или XCode 7 только он был изменен на раскадровку, ранее он был файлом XIB. Следовательно, вы не можете добавлять объекты пользовательских классов в LaunchScreen, поскольку это фаза, на которой приложение все еще должно быть загружено или запущено. 

5
Bishal Ghimire

Чтобы добавить комментарий Яша, эта ошибка вводит в заблуждение. Если поле Custom Class для вашего ViewController пустое, вам следует также проверить каждый объект в вашем представлении и посмотреть, не являются ли их пользовательские классы пустыми, вы даже не можете установить пользовательский ярлык для Launch Page. 

Это то, что поймало меня и заняло у меня некоторое время, чтобы понять, что на одной из моих этикеток был случайно установлен специальный класс из cut + paste.

3
William T.

Я сделал ту же ошибку.

НЕПРАВИЛЬНО:

 enter image description here


Скорее всего, то, что вы намеревались сделать, было таким:

ПРАВИЛЬНЫЙ:

 enter image description here

0
Honey

Перейдите на страницу -> launchScreen.storyboard, затем перейдите на страницу -> идентичность и типы -> снимите флажок -> использовать в качестве экрана запуска. Изменение его в общем -> Значки приложений и Запуск изображений -> Раскрывающийся файл Launch Screen File -> LaunchScreen вместо launchScreen.storyboard не поможет (остановится) сделать вышеупомянутое. Убедитесь, что все ваши ограничения установлены правильно, просто скопируйте настройки ограничений с вашей основной раскадровки.

0
makhiye