2013-10-08 3 views
40

У меня странная ошибка: 'Could not find a storyboard named 'Main' in bundle NSBundle' при попытке запустить приложение на реальном устройстве iOS.Не удалось найти раскадровку с именем «Главная» в комплекте

У меня есть файл в моем каталоге, и он отлично работает в симуляторе. Однако в разделе Copy Bundle Resources файл Main.storyboard является красным.

Я попытался удалить его и добавить его снова, перезапустить Xcode, очистить сборку и т. Д. Безрезультатно. Это предупреждение я в Xcode:

/Users/ajay/Documents/avx/avx/Base.lproj/Main.storyboard: Internationalization of /Users/ajay/Documents/avx/avx/Base.lproj/Main.storyboard is not available when compiling for targets before iOS 6.0 
+0

я описал, как решить эту проблему в этом посте: http://stackoverflow.com/a/21098195/1141395 –

+0

Эта проблема в основном происходит из-за коррупционную установку приложения. Решение состоит в том, чтобы очистить и построить проект. Также удалите существующее приложение с устройства/симулятора и запустите снова. – Krishnabhadra

ответ

54

открыть info.plist вашего проекта и удалить выбранную строку отображаться на скриншоте enter image description here

+17

Спасибо, но это просто сделало мой запуск приложения черным экраном. Однако никаких сбоев нет. – Carpetfizz

+0

Привет, спасибо. Это помогло мне. –

+0

Убедитесь, что эти две строки в вашем приложении - (BOOL): (UIApplication *) приложение didFinishLaunchingWithOptions: (NSDictionary *) launchOptions ...: (1) self.window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen ] границы]]; (2) self.window.backgroundColor = [UIColor whiteColor]; –

43

Вы можете проверить целевое членство в раскадровке. Может быть там, где проблема:

Он должен быть похож на это:

Target Membership

+0

Это уже проверено, но спасибо. – Carpetfizz

+0

У меня была такая же проблема, и сначала я думал, что не копирую нужные ресурсы для цели, но исправление целевого членства исправило проблему. – MtRoad

+0

Это делает мой день. Спасибо, приятель. –

0

выбрать main.storyboard, изменить вид как прошивкой 6.1 и выше, то Xcode будет сказать и то, что у нужно сделать.

enter image description here

7

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

Извлечение ключа основного файла раскадровки из моего plist устраняет ошибку.

6

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

main.storyboard -> только главный это раскадровка имя

1

Удаления строки в PLIST вызвал черный экран в моем приложении тоже. И я установил его, позволяя целью членства раскадровки

0

Моего решения:

Когда я добавил Seque соединения между двумя соображениями и в конфигурации Projekt целевой развертывании будет меньше 8.0 я получаю эту ошибку ,

нормально, просто понимание при разработке для IOS 6.0 (например), вы не можете использовать Seque, потому что Seque нужно IOS 8.0 или более поздняя версия ...... ;-)

так, я установил Цель развертывания - 8.0, и ошибка исчезла !!!! другие, в то время как я отменяю все соединения Segue и обрабатываю их с IBAction, старой школой ;-)

13

Я удалил приложение с моего телефона, сделал Product -> Clean и снова загрузил его. Это все, что мне понадобилось.

+0

Это работало и на меня. Спасибо, что поделился! – dustinrwh

0

Хорошо, это был процесс. Попытка так много разных вещей. Запуск xcode 6.4 на OS 10.11. Невозможно найти проблему «Главная». Что я, наконец, сделал, это переместить main.storyboard на мой рабочий стол с Finder.Did на чистую и сборку и выйти из xcode. перезапустил xcode, теперь у него есть красная main.storyboard.Я запускаю его, фактически делает то же самое. затем я нажимаю правой кнопкой мыши на папке проекта и выбираю вариант добавления файлов в ... Перейдите туда, где он есть, и откройте его. тогда, когда он находится справа, должен быть инспектор удостоверений. щелкните по маленькой папке по местоположению. снова перейдите к этой папке и выберите вариант. Затем я побежал, и это сработало. Аминь !!!

0

Это просто пришло мне в голову, когда пыталось запустить мое приложение в симуляторе. Файл присутствовал и был частью объекта, который я пытался запустить.

Отступил после выполнения Product->Clean.

2

Не удалось найти раскадровку с именем «Main» в пачке

Причина я мог думать:

Насколько мне известно, IOS заключил меня, это было только что произошло, потому что XCode не удалось найдите ссылку на файл Main.storyboard в моем каталоге проектов, чтобы скопировать его в приложение.

Разрешение:

  1. Выбранный файл Main.storyboard и попытался удалить, и в диалоговом окне, которое появляется следующим образом: enter image description here

  2. кнопку Нажал "Удалить Reference".

  3. Затем от фактического места, где я мог бы найти файл Main.storyboard внутри директории проекта, тащили и упал на XCode, и снова в диалоговом окне, которое появляется следующим образом: enter image description here

  4. Я выбрал «Создать ссылки на папки» (потому что это одна вещь, которую я намеревался сделать, потому что я изменил структуру файла и папки моего проекта). Но в большинстве случаев выбор «Создать группы» также может работать. И нажал кнопку «Готово». Мои Раскадровка файлы были уже внутри, как показано на скриншоте уже в директории Base.lproj следующим образом:

    enter image description here

    Примечание: Одна важная вещь, чтобы напомнить здесь, на этом шаге, не забудьте поставить галочку ON установите флажок «Добавить в целевые объекты» в свое приложение.

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

Надеюсь, это может быть полезно кому-то другому! Я пробовал это на XCode 7.3.1 и на iOS Sim 9.3 и iPhone 6S!

+1

Удивительно, то же самое случилось со мной – Mirko

0

Я двигался Main.Storyboard файла в «синяя» подпапке, который вызывает проблемы, я должен был добавить вложенные папки следуя эти инструкции Xcode 6.3 New File Issue

затем двигающихся Main.Раскадровка файл в желтой подпапке сделал работу для меня

3

Выполните следующие действия:

1) Первый Нажмите ваш рассказ доска

2) Затем нажмите Inspector File

3) Затем выберите «Target Membership "

Screen Shot

1

Как Kalpit Gajera сказал," открыть info.plist из вашего проекта и т он выбрал строку, показанную на снимке экрана ». Вы просто удалите «Основное имя файла раскадровки» из Info.plist. После удаления, очистки и запуска программа перестанет работать, но отобразит черный экран. Откройте Info.plist снова и вручную добавьте строку обратно. Проблема решена.

Смежные вопросы