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(его пакет на самом деле)
  • выберите Показать содержимое пакета
  • появится новое окно
  • удалить папку с именем xcuserdata​​li >

Как этого избежать в будущем: после добавления в .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 не сбой при просмотре файл раскадровки