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

98

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

Не удалось создать приложение из-за следующего сообщения об ошибке:

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

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

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

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

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

Алекс Стоун
источник
Для справки, я пробовал каждое предложенное решение (по состоянию на 9 февраля 2012 г.). Ни одной работы. Хм ...
Джо Д'Андреа
1
У меня такая же проблема даже с новыми проектами (это безумие)! Я перепробовал здесь все методы, ни один из них не работал. Обновление Xcode до последней версии (4.3.1) тоже не помогает. грррррр .....
Люцифер42
1
Ни один из приведенных ниже ответов не помог мне. Пробовал 22 марта ..! :(
jeevangs
2
Я ProfileRun
редактировал
не могу представить, какое тупое яблоко
neobie

Ответы:

111

У меня тоже возникла эта проблема, и я решил ее, выполнив следующую процедуру:

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

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

хлопок5415
источник
У меня это тоже сработало, переход с GDB на LLVM, похоже, не помог. Кажется, что изменение цели развертывания на значение ниже 5.0 на экране Target-> Summary устанавливает для параметра Storyboard Document Versioning Development (Xcode) значение 4.1, но возврат к 5.0 не изменяет версию Xcode обратно на 4.2.
FractalDoctor
1
я также должен был очистить перед восстановлением
Бушра Шахид
7
У меня была такая же проблема, но я не смог ее исправить. Наконец-то я смог исправить это, удалив ссылку на раскадровку, построив, добавив обратно и снова построив.
smcmahon
1
Я бы хотел, чтобы это сработало для меня! Судя по отзывам, я чувствую, что так и должно быть, но без кубиков, извините. :(
Джо Д'Андреа
1
Немного странно, но у меня сработало перетаскивание файла раскадровки из xcode на рабочий стол, очистка, а затем сборка - я не знаю, что толку.
JARC
20

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

C Fraire
источник
Вроде бы самый надежный. Это сработало для меня, когда здесь не было других ответов.
Николас Ренольд
Это единственный вариант, который у меня сработал, и я беззастенчиво отвергаю ответы, которые не сработали. Извините, ребята ... это слишком расстраивает.
Дэвид Мортон
Это сработало для меня. Как ни странно, удаление производных данных проекта из Организатора не помогло, а вот удаление всей папки из средства поиска помогло.
rob
1
Удаление папки DerivedData - это всегда первое, что я пытаюсь сделать. Однако здесь не помогло
brainray 06
17

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

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

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

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

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

ФракталДоктор
источник
Это сработало для меня, в то время как изменение версии документа и перезапуск / очистка не помогли.
Берик
эээ, я просто не могу отблагодарить вас достаточно (+1), это спасло мне день :-)
PeterK
14

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

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

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

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

Питер Брукс
источник
2
Cmd + Q - закрыть xCode. Обычное «закрытие» бесполезно.
бериллий
Мой опыт аналогичен ответу FiddleMeRagged: какое-то время это работало, а в настоящий момент не работает (хотя и решение от cotton5415). Так что, к сожалению, нельзя ожидать, что это сработает в 100% случаев, даже если иногда это срабатывает.
Тайлер Кольер
Да! Простое решение: повторно откройте xCode и просто " CleanГотово!" =)
Emadpres 06
11

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

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

Картинка, наверное, самая простая:

Изображение из Xcode

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

Тайлер Кольер
источник
Ой, да! Эта «Другая идея» работает! Пробовал все остальное, но ни один из них не работает!
Hlung
Да, другой проект успешно построен, теперь старый тоже строится без ошибок. Спасибо.
Adeel Pervaiz
7

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

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

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

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

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

Жанниколас
источник
Удаление записей <развертывание ..> и <разработка ..> работало как минимум для одного файла раскадровки. Как ни странно, это исправило ту же ошибку «недоступно в iOS 4.3» в другом, не связанном с раскадровками проекте.
LearnCocos2D
6

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

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

Джо Д'Андреа
источник
Я пробовал все вышеперечисленные методы, но безрезультатно ... пока не встретил это решение, которое работает совершенно отлично.
morph85 04
5

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

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

и измените его примерно так:

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

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

Майкл Бадичи
источник
Простое удаление обоих <deployment ..> и <development ..> (если они есть) из файла раскадровки исправило это для меня.
LearnCocos2D
4

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

Мохаммад Альджабер
источник
Я даже не могу удалить ссылки, так как Xcode 4.6 вылетает, как только я касаюсь раскадровки
brainray
3

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

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

Jeevangs
источник
3

У меня тоже была эта проблема, и ничего не помогло. Даже открыть другой проект и попытаться построить не удалось.

То, что я сделал и что для меня, собирался спроецировать -> информация и в разделе «Цель развертывания» изменить цель развертывания iOS на что угодно, построить, а затем вернуться к тому, что было, и построить снова.

Илан
источник
2

Вот еще один случайный вуду-цеп, который, похоже, только что решил проблему. (после того, как другие методы здесь не помогли) я переименовал файл раскадровки (и запись для него в файле info.plist). Еще не пробовал ритуал перетаскивания на / с рабочего стола.

Сегодня я потерял 45 минут на этот вопрос. гррррр. Хорошо, теперь мне лучше.

zer0gravitas
источник
У меня это сработало, и я отредактировал ответ, добавив подробные шаги. Интересно, кто был настолько умен, что проголосовал против этого предложения ...
brainray 06
исправление: это работало для меня, пока Xcode не повредил проект повторно. Мне также пришлось переустановить Xcode ...
brainray 06
1

После безуспешной попытки всех приведенных выше предложений я получил код для компиляции, выполнив следующие действия.

Edit -> Refactor -> Convert to Objective-C ARC
Асбьорн Ридель
источник
1
rm -rf $HOME/Library/Application Support/Developer/Shared/Xcode
rm -rf $HOME/Library/Preferences/com.apple.dt.Xcode.*
rm -rf $HOME/Library/Saved\ Application\ State/com.apple.dt.Xcode.savedState
rm -rf $HOME/Library/Developer/Xcode

похоже, помогает с Xcode 4.3.2

Ежи Козера
источник
1

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

  1. Удалите XCode.

  2. Удалите папку пользователя / библиотеки / разработчика / XCode.

  3. Переустановите XCode (возможно, вам стоит запустить это перед поиском папки, загрузка заняла у меня 20 минут).

  4. Запускаем, чистим и строим.

Работал у меня. Сэкономил мне время. Иногда, когда скальпель не работает, самое время заняться топором. Теперь я могу выбрать новый шрифт для кода (это очистит ваши предпочтения)!

техасец
источник
Спасибо, что наконец исправили это здесь. Только для других: вы можете определить эту проблему, если появится сообщение об ошибке «ibtool failed with exit code 255».
brainray 06
-1

Единственное решение, которое сработало для меня, - это создать другой проект без включенной раскадровки, построить его, а затем вернуться к проекту раскадровки, очистить и построить.

Миркулес
источник
-1

Вот еще один случайный, вуду, отключите ваш iPhone, если он подключен.

Люцифер42
источник
-2

Я просто изменил цель развертывания на 4.0 и разработку на 4.3 с MainStroyboard. Чищу проект; и перезапустил Mac :) Я знаю, это звучит забавно, но перезапуск xcode не помог. может в памяти есть кеш ...

Затем я построил проект; это было хорошо!

Каан Йы
источник