Не удалось найти раскадровку под названием 'Основной' в пакете

Я получаю странную ошибку: '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
57
задан 9 May 2016 в 09:29

5 ответов

Для любого сталкивающегося с этой проблемой на Xcode 11, вот то, как Вы фиксируете его, если Вы сталкиваетесь с этой проблемой, когда делающая раскадровка меньше установки проекта

(Добавляющий некоторые части, что пропущенный ricardopereira)

1) Сначала, удалите файл

2 Main.storyboard), Затем, переходят в PROJECT_NAME-> ОБЩИЙ

В основном выпадающем интерфейсе, удаляют текст Основной

removing reference to main from general settings

, 3) Теперь переходят к info.plist и удаляют Имя Раскадровки

removing reference to the storyboard from info.plist

4) Наконец, изменяют сцена (_: willConnectTo:options) код в файле SceneDelegate.swift (Да! Это больше не находится в Делегате Приложения.)

var window: UIWindow?


    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
        // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
        // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
        guard let windowScene = (scene as? UIWindowScene) else { return }
        window = UIWindow(frame: windowScene.coordinateSpace.bounds)
        window?.windowScene = windowScene
        window?.rootViewController = ViewController()
        window?.makeKeyAndVisible()
    }

можно также обратиться к этому видео вместо этого: https://www.youtube.com/watch? v=Htn4h51BQsk

0
ответ дан 1 November 2019 в 15:29

Мой вопрос был решен путем удаления эти .xml суффикс от Main.storyboard.xml file.

, По-видимому, суффикс, измененный от версии, из которой я импортировал проект.

Поэтому переименование файла (удаляющий эти .xml суффикс) и перезапуск, затем Project-> clean.... решило проблему.

0
ответ дан 1 November 2019 в 15:29

Два различных решения, которые работали на меня после обновления до Xcode 10.1:

  • В Файл-> Рабочая область (или Проект) Настройки . Переключитесь на Система сборки Прежней версии .

  • В Ваших целях Фазы разработки , удалите папка Base.lproj от [1 110] Ресурсы Пакета Копии (если перечислено) и удостоверьтесь, что каждая из Ваших раскадровок перечислена и скопирована отдельно вместо этого.

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

1
ответ дан 1 November 2019 в 15:29

В проекте, который использует UIScene в iOS 13 и Xcode 11, необходимо удалить UISceneStoryboardFile ключ от .plist.

Xcode 11:

xcode11-uiscene

Изменение непосредственно из файла:

uiscene-plist

2
ответ дан 1 November 2019 в 15:29
  1. Открытый Вы файл
  2. раскадровки Затем Нажимает выбор File Inspector
  3. Then "Целевое Членство" и проверяет, что Ваш проект
  4. Делает то же для файла ViewController!!! важная часть, если Вы используете ViewController.swift или ViewController.m с Вашей раскадровкой!!!
3
ответ дан 1 November 2019 в 15:29

Другие вопросы по тегам:

Похожие вопросы: