Ошибка раскадровки iOS5: раскадровки недоступны на iOS 4.3 и более ранних версиях - PullRequest
98 голосов
/ 16 октября 2011

Я создал небольшое приложение, используя раскадровки, и оно работало отлично.Непосредственно перед финальным тестированием я решил попробовать его на iOS 4.3.Я нажал на серый 5.0 в настройках проекта и выбрал 4.3.

Приложение не удалось собрать со следующим сообщением об ошибке:

Раскадровки недоступны на iOS 4.3 и более ранних версиях

И раскадровки для iPhone и iPad говорят мне об этом.

Проблема в том, что, когда я снова переключился на цель iOS5, я все еще продолжаю получать эти ошибки с обеих раскадровок, и продукт не будет собираться! Я проверил: цель развертывания iOS в настройках проектов5,0 Целевое развертывание целевого приложения 5,0. В настройках сборки используется iOS 5.0 SDK

Что еще нужно сделать, чтобы восстановить проект в работоспособное состояние?Это новая ошибка или я что-то забыл?

Обновление: я продолжал получать эту ошибку даже после очистки. Я изменил отладчик в Схемах на "LLDB" и сделал дополнительную очистку , теперь проект собирает и компилирует

Ответы [ 18 ]

111 голосов
/ 26 октября 2011

Я также получил эту проблему, и, наконец, я решил эту проблему с помощью следующей процедуры:

  1. Открыть XXXXXX.storyboard
  2. Откройте вкладку «Идентичность и тип» в правом представлении Xcode.
  3. Установите для параметра «Разработка в управлении версиями документа» значение «Xcode 4.2» (по умолчанию используется значение «Версия по умолчанию (Xcode 4.1)».
  4. Измените значение Развертывание с версии Project SDK (iOS 5.0) на iOS 5.0, затем вернитесь к версии Project SDK (iOS 5.0)

Перестройте проект, и ошибка должна быть устранена.

20 голосов
/ 04 марта 2012

Решение, которое работало для меня, состояло в том, чтобы просто удалить каталог ~/Library/Developer/Xcode/DerivedData для моего проекта.

17 голосов
/ 09 ноября 2011

Я просто собираюсь добавить этот вариант в качестве другого возможного ответа здесь, поскольку первые решения работали для меня несколько раз (как я упоминал в моем предыдущем комментарии) до сегодняшнего дня, когда я не мог заставить свой проект скомпилировать для любвини денег с такой же ошибкой.С измененным отладчиком и Xcode, установленным на 4.2 и перезагружающимся несколько раз, я не мог скомпилировать.Однако я нашел другой способ обойти эту проблему.

Выберите раскадровку в левом столбце и выберите «Показать в Finder» и перетащите раскадровку на рабочий стол.Xcode теперь изменит свой цвет на красный и не сможет скомпилироваться.

Очистите проект, перетащите раскадровку обратно с рабочего стола в каталог в Finder.

Затем он собирается и ошибка снова исчезает.

Я незнаю, что изначально вызвало ошибку, так как я занимаюсь разработкой под iOS5 и сборкой для 4.3, но, похоже, время от времени она возникает и.

14 голосов
/ 26 октября 2011

Похоже, что это ошибка в последнем XCode, с которым я тоже столкнулся, попробовал решение OP по изменению отладчика, но это не дало результата.

Это произошло для меня, так как я попробовал раскадровку с 4.3, а затем попытался вернуться обратно.

Мое решение было закрыть XCode, открыть его снова и очистить. Затем я скомпилировал, и все заработало нормально.

Надеюсь, это поможет другим.

11 голосов
/ 22 ноября 2011

Хотя другие решения помогли мне, они не работали 100% времени. Я не знаю достаточно о XCode, чтобы понять, насколько надежно это решение, но, по крайней мере, оно сработало для меня, так что вы можете попробовать его в своем проекте.

В левой части Xcode откройте навигатор проекта. Нажмите на верхний элемент, который является вашим проектом. Сразу справа на панели вы увидите выбор между вашим проектом и его целями. Щелкните проект, а затем на панели справа на вкладке «Информация» установите для параметра «Использовать сборки из командной строки» значение «Отладка» (в двух моих проектах, где у меня возникла ошибка, оба были настроены на выпуск).

Изображение, вероятно, самое простое:

Picture from Xcode

Другая идея : Откройте другой проект с раскадровками в XCode и попробуйте запустить его. Если это удастся, вы можете вернуться к текущему проекту, и он должен построить. Я думаю, что это ясно указывает на ошибку в Xcode.

7 голосов
/ 08 ноября 2012

После проверки всех ответов здесь (удаление ссылки на раскадровку, выход из Xcode, очистка, изменение отладчика и т. Д.), Ничего не получилось (с Xcode 4.5).

Единственный способ восстановить его (и это было полное предположение) - открыть файл раскадровки в текстовом редакторе и удалить следующую строку:

<deployment version="1280" identifier="iOS"/>

Это должно бытьв верхней части файла, в разделе <dependencies>.После этого проект был успешно собран, и XCode даже повторно добавил эту строку в файл, но он все еще строит ...

Пойди разберись ...!Надеюсь, это кому-нибудь поможет!

6 голосов
/ 20 апреля 2012

Наконец, элегантный обходной путь, который, кажется, помогает мне! (Я очень надеюсь, что это работает для всех остальных. Этот упрямый.)

Как только ваши настройки вернутся в iOS 5-land, попробуйте Cmd-Option-Shift K (он же «Очистить папку сборки ...» из меню - удерживайте Option, чтобы увидеть его), затем сборка.

5 голосов
/ 30 марта 2012

решение простое, щелкните правой кнопкой мыши по файлу раскадровки и в окне поиска выберите папку, в которой находится файл (вероятно, это будет папка en.lproj), щелкните правой кнопкой мыши файл MainStoryboard.storyboard, вызывающий проблему, иоткройте текстовое редактирование найдите строку, которая читает или что-то вроде этого:

<development version="4300" defaultVersion="4200" identifier="xcode"/>

и измените его на что-то вроде этого:

<development defaultVersion="4300" identifier="xcode"/>

сохраните файл и соберите.Эт вуаля ...

4 голосов
/ 27 марта 2012

Хорошо, я попробовал все выше и проблема все еще возникла.Поэтому я просто удаляю раскадровки (в качестве ссылки не перемещаюсь в корзину).затем построить успешно;после этого я снова добавил их;Построй, И наконец-то сработало.

3 голосов
/ 23 марта 2012

У меня была такая же проблема. Я перепробовал все приведенные выше ответы и все комбинации, но ничего не получалось. Позже, после некоторого исследования, я проанализировал тот простой факт, что ошибка, которая бросала в меня, была прямо вперед.

Просто зайдите в настройки сборки и вместо выбора файла проекта xcode выберите файл продукта и измените цель развертывания на 5.0 или 5.1. Ошибка должна уйти. Я сделал это в Xcode 4.3 в Lion OSX. У меня все работало нормально !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...