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

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

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

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

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

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

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

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

Ответ 1

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

  1. Открыть XXXXXX.storyboard
  2. Откройте вкладку "Идентификация и тип" в правом виде Xcode.
  3. Задайте значение Development в Document Versioning "Xcode 4.2" (моим значением по умолчанию является "Версия по умолчанию (Xcode 4.1)".
  4. Измените значение Deployment из версии SDK проекта (iOS 5.0) на iOS 5.0, затем вернитесь к версии SDK проекта (iOS 5.0).

Восстановите проект, и ошибка должна быть решена.

Ответ 2

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

Ответ 3

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

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

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

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

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

Ответ 4

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

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

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

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

Ответ 5

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

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

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

Picture from Xcode

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

Ответ 6

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

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

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

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

Пойдите фигурой...! Надеюсь, это может помочь кому-то!

Ответ 7

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

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

Ответ 8

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

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

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

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

сохранить файл и построить. Et voila...

Ответ 9

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

Ответ 10

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

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

Ответ 11

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

Что я сделал, и для чего я собирался проектировать → info и в разделе "Цель развертывания" изменить iOS Deployment Target на все, что угодно, построить и изменить, чтобы вернуться к тому, что было и построить снова.

Ответ 12

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

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

Ответ 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 будет строить и запускать другие проекты в порядке, но не смог бы избавиться от ошибки в проекте, который я изменил, даже не резервных копий с сервера. Пробовал все вышеупомянутые решения, но нада. Вот что сработало.

  • Удалите XCode.

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

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

  • Запуск, очистка и сборка.

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

Ответ 16

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

Ответ 17

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

Ответ 18

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

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