В последние несколько месяцев у нас были огромные проблемы с конструктором интерфейса Xcode 10 для iOS.
Проблемы возникают только после некоторых операций редактирования. Перезапуск xcode необходим, чтобы заставить их уйти. В некоторых случаях они исчезают при переключении между устройствами разных размеров в раскадровке.
Обнаружены проблемы:
Xcode неожиданно падает при редактировании раскадровки.
Ограничения перестают обновляться. Предупреждения об ограничениях перестают обновляться. (Нет возможности нажать желтую кнопку предупреждения - обновить ограничения).
Вместо моего контроллера просмотра / просмотра отображается «маленький серый квадрат». Нет представлений. Просто пустой серый вид.
Никакие подпредставления не отображаются на контроллере - только серый фон.
Показана ошибка, сообщающая, что Интерфейсный Разработчик потерпел крах, с просьбой просмотреть журналы. На самом деле просмотр журналов XCode - не имеет смысла, потому что это чужой язык ...
Однако мы нашли обходной путь !!
Мы закрываем проект и рабочее пространство. И мы сами открываем раскадровку в XCode. (вне проекта).
Итак, все, что вам нужно сделать, это: убедиться, что вы настроили IBOutlets и IBActions, которые вам нужны в рамках проекта, а затем для работы над настройками макета, просто откройте раскадровку отдельно, с закрытым проектом.
Но теперь возникает вопрос: некоторые настройки в проекте, очевидно, вызывают проблемы с создателем интерфейса и редактированием раскадровок. Как я могу диагностировать проблему дальше и выяснить, какие проблемы проекта вызывают сбой Интерфейсного Разработчика?
Дополнительная информация:
У нас есть ссылка на фреймворк внутри нашего проекта с собственным Bundle ID. У него много раскадровок. Он ссылается на проект приложения в качестве ссылки на подпроект.
Рабочего пространства нет. Только используемые проекты. (Не используются кокоподы)
Наши раскадровки крошечные: только один контроллер на раскадровку. Вся навигация осуществляется через код. (без переходов). Так что сложность раскадровки не проблема.
Мы не используем IBDesignables или какие-либо дополнительные функции.
Мы просто используем ограничения. Варианты черт включены по умолчанию на всех раскадровках, но мы их не используем.
Мы ссылаемся на другие файлы .framework из нашего собственного фреймворка. Некоторые из них - толстые рамки.