如何设置App启动时显示自定义Storyboard而非默认Hello World
自定义App启动加载Storyboard配置步骤
前置检查:
- 提前创建好你要使用的自定义Storyboard文件,打开该Storyboard,选中你要作为启动首页的视图控制器,在右侧属性检查器里勾选Is Initial View Controller,确保Storyboard有明确的初始入口。
配置SceneDelegate模式项目(Xcode 11+ 默认创建的iOS项目)
- 打开项目的
Info.plist文件,按层级展开:Application Scene Manifest→Scene Configuration→Application Session Role→Item 0 (Default Configuration) - 找到
Storyboard Name字段,将默认值Main修改为你自定义的Storyboard文件名(不要加.storyboard后缀) - 打开项目导航栏选中项目根节点,在TARGETS列表选中你的App目标,切换到
General标签页,找到Deployment Info区域,将Main Interface下拉选项切换为你的自定义Storyboard - 如果不再需要默认的Main.storyboard,可以右键该文件选择
Move to Trash彻底移除 - 按
Cmd+Shift+K清空Xcode编译缓存,重新运行项目即可。
配置仅用AppDelegate的项目(老版本iOS项目/手动移除SceneDelegate的项目)
- 打开
Info.plist文件,找到Main storyboard file base name字段,将值修改为你的自定义Storyboard文件名,或者直接删除该字段用代码指定 - 打开
AppDelegate.swift文件,在application(_:didFinishLaunchingWithOptions:)方法中添加如下代码:
// 替换name参数为你的自定义Storyboard文件名,不带后缀 let customSB = UIStoryboard(name: "YourCustomStoryboard", bundle: nil) guard let initialVC = customSB.instantiateInitialViewController() else { return true } window?.rootViewController = initialVC window?.makeKeyAndVisible()
- 同样去
General→Deployment Info里把Main Interface改为你的自定义Storyboard,代码配置的场景也可以留空 - 清空编译缓存后重新运行即可。
常见踩坑提示:如果修改后仍然显示默认的Hello World页面,先删除模拟器/真机上已经安装的旧版App,再重新编译运行,基本都是旧缓存导致的。
内容的提问来源于stack exchange,提问作者Taufeeq Ali
相关产品推荐
相关产品推荐

