Xcode 11 Не удалось найти раскадровку с именем «Main» в комплекте NSBundle - PullRequest
1 голос
/ 16 октября 2019

Этот вопрос уже задавался, но моя проблема конкретно с Xcode 11 и UISceneConfiguration. До Xcode 11, когда вы удалили раскадровку (Main.storyboard) из своей цели, а затем добавили новую (AnotherStoryboard.storyboard), вам придется обновить Targets > General > Deployment Info > Main Interface, чтобы использовать вновь добавленную раскадровку. В Xcode 11 этого недостаточно, и приложение выдаст исключение

*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: 'Could not find a storyboard named 'Main' in bundle NSBundle

Проблема, которую я обнаружил, заключалась в том, что в Info.plist появился новый ключ с именем UIApplicationSceneManifest, имеющий вложенный UISceneStoryboardFile в нем, который обновляется при изменении основного интерфейса в пределах цели. Тем не менее, на верхнем уровне Info.plist все еще есть клавиша UIMainStoryboardFile, которая содержит заголовок старой раскадровки "Main". Короче говоря, если вы удалите UIMainStoryboardFile, приложение будет работать нормально.

Мой вопрос: это ошибка в Xcode 11 или мне чего-то не хватает, что могло бы предотвратить это? На самом деле я не нашел ничего полезного, когда пытался отладить его, и в итоге я сам все понял.

...