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