Как исправить случайно открытый проект в xcode5 dp3?

В какой-то момент я открыл проект в xcode5, который был создан в xcode4. Теперь я могу собрать/запустить из-за ошибки раскадровки. XCode4 просто не запускает его, он говорит:

Не удалось открыть документ Storyboard.storyboard, не удалось прочитать архив. Пожалуйста, используйте более новую версию XCode. Рассмотрите возможность изменения цели разработки документов для сохранения совместимости.

Итак, я перехожу к XCode5, я получаю это:

2013-07-19 10:38:11.340 ibtoold[756:707] [MT] DVTAssertions: ОШИБКА УТВЕРЖДЕНИЯ в /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-3697.3/IBPlugin/Utilities/IBObjectMarshalling.m:673 Подробности: не удалось вычислить статус автоматического макета IBLayoutConstraint, IBUILabel, IBUITableViewCell и IBUITableViewCellContentView.

Интерфейсный конструктор обнаружил ошибку при обмене данными с симулятором iOS. Если вы решите отправить отчет о сбое или радар для этой проблемы, проверьте Console.app на наличие отчетов о сбоях для «Interface Builder Cocoa Touch Tool» и включите их содержимое в свой отчет о сбое.

и когда я пытаюсь открыть раскадровку, XCode5 падает.

Есть идеи?


person marciokoko    schedule 19.07.2013    source источник
comment
Проверить более старую версию проекта из системы управления версиями? Использовать машину времени?   -  person Nicholas Hart    schedule 19.07.2013
comment
Вы просмотрели все повторяющиеся вопросы, показанные в разделе «Связанные»?   -  person rmaddy    schedule 19.07.2013
comment
@rmaddy да, но все они говорят о выборе раскадровки и изменении версии документа, что для меня не вариант. Я не могу выбрать раскадровку без сбоя (XCode5) или с серым цветом версии документа (XCode4)   -  person marciokoko    schedule 19.07.2013
comment
Извините, я не прочитал немного о сбое в Xcode 5, когда голосовал за дубликат. Это звучит так, как будто вы не можете легко восстановиться, и вы можете отправить отчет об ошибке в Apple.   -  person Brad Larson    schedule 19.07.2013
comment
@marciokoko Если мой ответ поможет вам, примите его. Спасибо!   -  person Idan    schedule 23.09.2013


Ответы (4)


Откройте файл Storyboard/Xib в Xcode 5, а затем: 1. Откройте инспектор файлов 2. В разделе «Документы построителя интерфейсов» измените «Открыть с помощью» на Xcode 4.6 (если это 5.x). 3. Сохраните, закройте проект и откройте его со старым Xcode.

Теперь это должно работать.

Это тот же метод, что и в более ранних выпусках, поэтому я предполагаю, что это нормально для случая NDA (вы можете сделать то же самое в Xcode 4.6 для работы со старой версией).

Или прочитайте мой ответ здесь: Только что установил xcode 5 и имеет отсутствующие раскадровки

person Idan    schedule 19.07.2013
comment
Это правильный ответ. То же самое может произойти и с XIB, и применяется то же исправление. - person Doug McBride; 30.07.2013
comment
@DougMcBride Да, Xib и раскадровка в этом отношении одинаковы. Спасибо за разъяснение. - person Idan; 01.08.2013

Откройте раскадровку в Xcode 5. В инспекторе файлов справа вы должны увидеть что-то с надписью «Управление версиями документа». Там вы должны установить уровень развертывания на iOS 6.1 и установить его для открытия файла с помощью Xcode 4.6.2. После этого вы сможете снова открыть и построить раскадровку в Xcode 4.

person Patrick Goley    schedule 19.07.2013
comment
Управление версиями документа неактивно :( - person marciokoko; 19.07.2013
comment
Это проблема версии формата файла с самим файлом раскадровки (см. Другой ответ), а не проблема на уровне проекта. - person Doug McBride; 30.07.2013

У меня была похожая проблема, но я даже не мог открыть раскадровку - Xcode 5.0.1 и 5.0.2 продолжали падать с

ASSERTION FAILURE в /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-3697.3/IBPlugin/Utilities/IBObjectMarshalling.m:673 Подробности: не удалось вычислить состояние автоматического макета IBLayoutConstraint, IBUILabel, IBUITableViewCell и IBUITableViewCellContentView.

Решение в моем случае состояло в том, чтобы открыть проект и раскадровку с помощью Xcode 5.0 (последняя версия, в которой открылась раскадровка) и найти проблему с таблицей.

После некоторого времени поиска я нашел вторую таблицу, которая, должно быть, была вставлена ​​по ошибке за реальной таблицей. У него не было ни высоты, ни ширины, поэтому он был замечен в инспекторе только с левой стороны (см. рисунок). Я удалил эту мошенническую таблицу, а затем загрузил 5.0.2, и жизнь наладилась!

введите здесь описание изображения

person Jim Holland    schedule 19.11.2013

В итоге я открыл XML и удалил логическое значение для AL, а затем снова добавил его.

person marciokoko    schedule 21.11.2013