Всякий раз, когда я добавляю объект (в частности, UIButton или UILabel) в свое представление раскадровки, происходит сбой Xcode. Я попытался перезагрузить и переустановить Xcode. Я также попытался воссоздать свое представление в новом проекте. Сначала он не падает, но это происходит, когда я добавляю еще несколько кнопок в раскадровку.
Когда я щелкаю правой кнопкой мыши MainStoryboard.storyboard в навигаторе и выбираю «Открыть как: список свойств», я получаю сообщение об ошибке: «Не удалось прочитать данные, поскольку они были повреждены». На самом деле эта ошибка появляется, когда я пытаюсь открыть файлы .h и .m одним и тем же способом.
Я использую новейшую версию Xcode (4.5) на Mountain Lion. Ниже приведена часть журнала сбоев. Пожалуйста, дайте мне знать, если мне нужно включить больше.
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
ProductBuildVersion: 4G182
ASSERTION FAILURE in /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-1926/IBPlugin/Utilities/IBObjectMarshalling.m:651
Details: Failed to arbitrate IBNSLayoutConstraint, IBUIButton, IBUILabel, IBUIView, and IBUIViewController.
Интерфейсный конструктор обнаружил ошибку при обмене данными с симулятором iOS. Если вы решите отправить отчет о сбое или радар для этой проблемы, проверьте Console.app на наличие отчетов о сбоях для «Interface Builder Cocoa Touch Tool» и включите их содержимое в свой отчет о сбое.
Имя исключения: IBAssertionFailure Причина исключения: ASSERTION FAILURE: Причина: Все представления, требующие ограничений-кандидатов, уже имеют сгенерированные ограничения. Это, скорее всего, указывает на ошибку, связанную с компоновкой следующих представлений: рамка механизма макета ({{169, 392}, {64, 43}}) > не соответствует рамке холста ({{168, 392}, {64, 43 }})
ОБНОВИТЬ:
Видимо, я недостаточно хорошо изучил. Я нашел кого-то с точно такой же проблемой: Xcode Interface Builder аварийно завершает работу, когда я редактирую раскадровка
Щелкните правой кнопкой мыши на раскадровке в навигаторе -> Показать инспектор файлов -> Снимите флажок «Использовать автомакет».
Проблема решена!