Официально: В iOS-приложении может быть только один LaunchScreen.storyboard (или LaunchScreen.xib) на весь проект.
Технические ограничения:
LaunchScreen.storyboard
)UILaunchStoryboardName
Хотя нельзя иметь несколько LaunchScreen.storyboard, существуют обходные решения:
Использование одного storyboard с логикой для разных случаев:
// В вашем LaunchScreen.storyboard:
// - Добавьте разные элементы интерфейса
// - Показывайте/скрывайте их в runtime через UserDefaults или конфигурацию
После стандартного launch screen сразу переходить на нужный экран:
func application(_ application: UIApplication, didFinishLaunchingWithOptions...) -> Bool {
// Определяем какой экран показать
let initialVC = determineInitialViewController()
window?.rootViewController = initialVC
window?.makeKeyAndVisible()
return true
}
Разные изображения для разных случаев в одном storyboard:
// В LaunchScreen.storyboard используйте UIImageView с изображением из Assets,
// которое можно менять в зависимости от условий
Порядок поиска (если нет LaunchScreen.storyboard):
LaunchScreen```ipad.storyboard
(для iPad)LaunchScreen.xib
LaunchImage
в Assets)Приоритеты:
LaunchScreen.storyboard
всегда имеет высший приоритетОграничения LaunchScreen:
Время отображения:
didFinishLaunching
Рекомендации Apple:
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UILaunchStoryboardName```ipad</key>
<string>LaunchScreen</string>
несмотря на техническое ограничение в один LaunchScreen.storyboard, можно создавать иллюзию разных экранов запуска через адаптивный дизайн и быстрый переход на нужный экран после запуска. Система жестко задает использование единственного файла с определенным именем для обеспечения стабильности процесса запуска.