Skip to content

清理Info.plist中的Storyboard相关配置

告别Storyboard入口

当你决定放弃Storyboard,转而采用纯代码进行UI布局时,Info.plist文件中的一些默认配置就需要进行清理。这些配置是系统用来查找和加载Storyboard的,如果它们仍然存在,可能会导致不必要的警告或错误。🚀

清理这些配置是确保你的项目完全脱离Storyboard的关键一步,让你能够完全掌控UI的创建过程。

移除主要Storyboard文件设置

Info.plist中有一个名为UIMainStoryboardFile(或在Xcode中显示为Main storyboard file base name)的键。这个键明确告诉iOS系统你的应用启动时应该加载哪个Storyboard文件。

由于我们不再使用Storyboard,这个键就变得多余了。移除它,系统就不会再尝试寻找一个不存在的Storyboard文件了。

  • 操作步骤:
    1. 在Xcode的项目导航器中找到Info.plist文件并打开。
    2. 找到Main storyboard file base name这一行。
    3. 选中该行,然后点击底部的减号按钮 - 将其删除。

清理Application Scene Manifest

对于iOS 13及更高版本,Info.plist中引入了Application Scene Manifest(应用程序场景清单)的概念。它主要用于管理多场景应用,并且其中包含了与Storyboard相关的配置。

具体来说,Scene Configuration下的Application Session Role中,有一个Storyboard Name的键。这个键同样指向了应用的初始Storyboard。

  • 操作步骤:
    1. Info.plist中找到Application Scene Manifest
    2. 展开Scene Configuration -> Application Session Role -> Item 0 (Default Configuration)
    3. 找到Storyboard Name这一行。
    4. 选中该行,然后点击减号按钮 - 将其删除。

为什么需要清理这些配置?

清理Info.plist中的Storyboard相关配置至关重要。如果不清理,即使你删除了Main.storyboard文件,系统仍然会尝试去加载它,这可能导致应用启动失败或出现运行时错误。

想象一下,你告诉系统去一个地方找东西,但那个地方已经空了。清理配置就是告诉系统:“嘿,别去那里找了,那里什么都没有了!” 这样可以避免不必要的麻烦。✨

验证清理结果

完成上述清理步骤后,你可以通过以下方式验证你的Info.plist是否已经干净:

  1. 查看源代码: 右键点击Info.plist文件,选择Open As -> Source Code
  2. 检查XML结构: 确保XML中不再包含<key>UIMainStoryboardFile</key><key>UISceneStoryboardFile</key>这样的键值对。
xml
<key>UIMainStoryboardFile</key>
<string>Main</string>
xml
<key>UISceneConfigurations</key>
<dict>
    <key>UIWindowSceneSessionRoleApplication</key>
    <array>
        <dict>
            <key>UISceneConfigurationName</key>
            <string>Default Configuration</string>
            <key>UISceneDelegateClassName</key>
            <string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
            <key>UISceneStoryboardFile</key>
            <string>Main</string> <!-- 确保这一行被删除 -->
        </dict>
    </array>
</dict>

通过这些简单的步骤,你就成功地将项目从Storyboard的束缚中解放出来,为纯代码UI布局打下了坚实的基础!💪 这是一个非常棒的开始,你正在迈向更灵活、更强大的iOS开发之路!

本站使用 VitePress 制作