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

#xcode #ios5 #build #storyboard

#xcode #ios5 #сборка #раскадровка

Вопрос:

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

Не удалось выполнить сборку приложения со следующим сообщением об ошибке:

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

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

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

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

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

Комментарии:

1. Для записи я перепробовал все предложенные решения (по состоянию на 9 февраля 2012 года). Ничего не работает. Хм…

2. У меня такая же проблема, даже с новыми проектами (это безумие)! Я перепробовал здесь все методы, ни один из них не сработал. Обновление Xcode до последней версии (4.3.1) также не помогает. гррррррр…..

3. Ни один из приведенных ниже ответов не сработал для меня. Пробовал 22 марта ..! : (

4. Я Profile отредактировал приложение на предмет утечек, а затем Run отредактировал его =)

5. не могу себе представить, насколько глупа Apple

Ответ №1:

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

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

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

Комментарии:

1. Это сработало и для меня, переход с GDB на LLVM, похоже, не помог. Кажется, что изменение цели развертывания на что-либо меньшее, чем 5.0 на экране Target-> Summary возвращает для разработки версий документа раскадровки (Xcode) значение 4.1, но возврат к 5.0 не приводит к возврату версии Xcode к 4.2.

2. мне также пришлось очистить перед перестройкой

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

4. Я бы хотел, чтобы это сработало для меня! Я чувствую, что так и должно быть, основываясь на отзывах, но никаких кубиков, извините. : (

5. Немного странно, но то, что сработало для меня, — это перетащить файл раскадровки из xcode на стол, очистить, а затем собрать — я знаю, это бессмысленно.

Ответ №2:

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

Комментарии:

1. Похоже, это было бы самым надежным. Это сработало для меня, когда никаких других ответов здесь не было.

2. Это единственное, что сработало для меня, и я беззастенчиво отклоняю ответы, которые не сработали. Извините, ребята … Это было слишком неприятно.

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

4. удаление папки DerivedData — это всегда первое, что я пытаюсь. Однако здесь это не помогло

Ответ №3:

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

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

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

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

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

Комментарии:

1. Это сработало для меня, в то время как изменение управления версиями документа и перезапуск / очистка не сработали.

2. ухххх, я просто не могу отблагодарить вас ( 1), это спасло мне день 🙂

Ответ №4:

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

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

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

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

Комментарии:

1. Cmd Q — для закрытия xCode. Обычное «закрыть» не помогает.

2. Мой опыт похож на ответ FiddleMeRagged: это работало некоторое время, и на данный момент не работает (хотя и не является решением cotton5415). К сожалению, вы не можете ожидать, что это будет работать в 100% случаев, даже если иногда это работает.

3. Да! Простое решение: снова откройте xCode и просто Clean готово ! =)

Ответ №5:

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

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

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

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

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

Комментарии:

1. О, да! Эта «Другая идея» работает! Пробовал все остальное, но ни один из них не работает!

2. Да, еще один проект успешно собран, теперь старый также строится без ошибок. Спасибо.

Ответ №6:

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

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

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

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

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

Комментарии:

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

Ответ №7:

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

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

Комментарии:

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

Ответ №8:

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

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

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

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

сохраните файл и создайте. Et voila…

Комментарии:

1. Простое удаление как <deployment..>, так и <development..> (если таковые имеются) из файла раскадровки исправило это для меня.

Ответ №9:

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

Комментарии:

1. Я даже не могу удалить ссылки, поскольку Xcode 4.6 вылетает, как только я касаюсь раскадровки

Ответ №10:

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

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

Ответ №11:

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

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

Ответ №12:

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

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

Комментарии:

1. Это сработало для меня, и я отредактировал ответ, добавив подробные шаги. Интересно, кто был настолько умен, чтобы отклонить это предложение…

2. исправление: это работало для меня, пока Xcode повторно не повредил проект. Мне также пришлось переустановить Xcode…

Ответ №13:

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

 Edit -> Refactor -> Convert to Objective-C ARC
  

Ответ №14:

 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

Ответ №15:

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

  1. Удалите XCode.

  2. Удалите папку user / library / developer / XCode.

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

  4. Запустите, очистите и создайте.

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

Комментарии:

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

Ответ №16:

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

Ответ №17:

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

Ответ №18:

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

Затем я создал проект; все было в порядке!