XCode 6 GM сбой при выборе основной раскадровки или xib
Я только что загрузил XCode 6 GM и каждый раз, когда я выбираю основную раскадровку (и определенный xib), происходит сбой XCode.
Ошибка, отправленная в Apple, содержит следующую информацию
НЕИСПРАВНОСТЬ НЕИСПРАВНОСТИ в /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch -6238/InterfaceBuilder/Documents/IBCocoaTouchPlatform.m:531 Детали: результат вычисления результата возврата не является IBMarshallingResult, он {
Кто-нибудь испытывает ту же проблему?
Ответы
Ответ 1
Я слышал, что это может быть проблема автоопределения, поэтому я попытался отключить ее вручную, и это сработало!
Если вы щелкните правой кнопкой мыши по файлу раскадровки, откройте его как исходный код и УДАЛИТЕ useAutolayout = "YES", затем очистите, перестройте, вы можете открыть без проблем.
Ответ 2
Это вызывало у меня массу проблем, и повторное создание раскадровки не было выбором. Я прошел мимо него ctrl/right, щелкнув по раскадровке и сделав
"Открыть как" > "Исходный код"
Затем я сделал небольшое изменение, расстегнул его и снова сохранил файл. Тогда я сделал
"Открыть как" > "Конструктор интерфейсов - раскадровка"
Он открывается без сбоев XCode.
Ответ 3
Чтобы устранить эту проблему:
- откройте окно Finder и перейдите к проекту
- щелкните правой кнопкой мыши файл .xcodeproj(его пакет на самом деле)
- выберите Показать содержимое пакета
- появится новое окно
- удалить папку с именем xcuserdatali >
Как этого избежать в будущем:
после добавления в .gitignore вы должны выполнить следующую команду:
git rm --cached ProjectFolder.xcodeproj/project.xcworkspace/xcuserdata/yourUserName.xcuserdatad/UserInterfaceState.xcuserstate
git commit -m "Removing file thats driving me insane"
Ответ 4
(1) Вы очистили и перестроили проект?
(2) Вы пытались удалить папку xcuserdata? Папка содержит состояния ui и может быть причиной такой проблемы, особенно когда xcode был обновлен. Папка xcuserdata может быть найдена в вашем каталоге проекта, когда вы щелкните правой кнопкой мыши на вашем файле .xcodeproj и выберите "показать содержимое пакета". Закройте Xcode, запустите папку xcuserdata и снова запустите файл .xcodeproj.
Надеюсь, что одно из этих способов поможет:)
Ответ 5
Если люди используют несколько вкладок, это может быть проблемой. Мой XCode 6.0.1 становился невосприимчивым, когда одна и та же раскадровка открывалась более чем на одной вкладке...
Ответ 6
Было ли это из более ранней версии Xcode, или это было из одного из ранних выпусков Xcode 6? Если последнее, то решение будет состоять в его воссоздании.
Возможно, вы сможете заглянуть в файл раскадровки и выяснить, является ли он действительным документом - файл основан на XML, чтобы вы могли увидеть, есть ли какие-либо недостающие элементы или проблемы, возникшие в результате конфликта слияния, например. Вы также можете попробовать удалить определенные экраны, чтобы узнать, устраняет ли это вашу проблему - возможно, проблема связана с одним конкретным экраном.
Я также предлагаю проверить, были ли ваши объекты реализованы атрибут IBDesignable, и если вы использовали это в раскадровке; если это так, возможно, отказ NSCoder в возможности восстановить объект из файла.
Ответ 7
Я боролся с той же проблемой после обновления с Xcode 5 до 6.0.1. Попытка загрузить мой большой и сложный планшет iPad поможет заморозить Xcode, поднять Pinwheel Of Death и в конечном итоге выбить его из строя. Иногда он также показывал ошибки при сборке, указывая на отсутствие идентификаторов OID.
В итоге я вернул файл раскадровки в Git (через командную строку, так как Xcode не позволил мне зайти так далеко), вплоть до самой первой версии прямо из шаблона. Я очистил проект и перестроил его, и раскадровка загрузилась должным образом.
Затем я пошел вперед во время фиксации, совершая, очищая и строя каждый раз. Я ожидал, что дойду до того, что все снова сломается - но я добрался до самого последнего коммита без каких-либо зависаний.
Когда я попытался продвинуться вперед на несколько недель, я снова получил заморозки и аварии.
Интересно, нужно ли новому редактору раскадровки в 6.0.1 создавать свои внутренние представления (и кеши?) в меньших простых шагах, а не гигантский скачок полного сложного файла.
Для этого процесса отката/перемотки вперед/восстановления потребовалось около 45 минут для меня, но это намного меньше времени, чем потребовалось бы для меня, чтобы перестроить эту раскадровку. Надеюсь, это поможет вам.
Ответ 8
Одно из решений этого - открыть xib в XCode 5 и позволить ему сменить набор настроек. Затем откройте в Xcode 6.
Ответ 9
Я просто испытал то же самое. Это оказалось дубликат UILabel в раскадровке из-за слияния git. По-видимому, Xcode будет сбой, если два элемента пользовательского интерфейса имеют один и тот же внутренний идентификатор.
Несколько похожий на метод andrew-burke, мой метод поиска ответственной проблемы включал трассировку через git для изменения проблемы. Шаги:
- Итерационный шаг назад через историю git, проверяя каждую фиксацию до тех пор, пока вы не найдете первую раскадровку, которая не разбивает Xcode.
- После того, как вы совершили сбой, проверьте HEAD и итеративно верните изменения раскадровки в проблеме commit. Продолжайте сузить его до тех пор, пока не появится один элемент пользовательского интерфейса или одна строка, которая приведет к сбою.
- Навсегда вернуть ответственное изменение и перезапустить Xcode. Откройте раскадровку снова, и вас могут предупредить о внутренней несогласованности. Согласитесь с предлагаемыми изменениями Xcode, но просмотрите их.
- При необходимости вы можете попытаться повторно создать элемент пользовательского интерфейса или внести изменения с нуля, которые ранее вызывали проблему.
Ответ 10
Мой Xcode разбился, когда я нажал кнопку Main.storyboard
, чтобы создать IBOutlet
.
Я нашел, что это вызвано элементом настроек сборки - [ Objective-C Автоматический подсчет ссылок].
Если он установлен на "Нет", Xcode выйдет из строя при создании IBOutlet.
OS X Version: Yosemite 10.10.1
Xcode Version: 6.1.1 (6A2008a)
Надеюсь, что это поможет.
Ответ 11
Что сработало для меня, и все еще использую AutoLayout
- Откройте раскадровку в качестве исходного кода
- Редактирование useAutolayout = "YES" для использованияAutolayout = "NO"
- Закрытие исходного кода
- Откройте раскадровку в качестве Interface Builder - Storyboard
- И это самый важный шаг: в представлении "Просмотр файла" (слева) проверка "Использовать автозапуск"
Готово.
Ответ 12
Xcode 7.1 на Mac OS X 10.11.1 разбился и открыл тот же проект, щелкнув правой кнопкой мыши по значку xcode, и он снова разбился. Затем я прав значок xcode и открыл какой-то другой проект из недавнего списка, а затем открыл тот же проект, который рушился из недавнего элемента меню xcode, и он не сработал.
Ответ 13
Я столкнулся с этим на XCode 8, и я смог
- сохраните мои коррумпированные изменения раскадровки на ветке git.
- переключился на
другая ветка возвращается к более ранней фиксации до того, как Раскадровка получила
поврежденный
- просмотр файла раскадровки в XCode
- переключиться обратно в ветвь с
коррумпированный раскадровки, а XCode не сбой при просмотре
файл раскадровки