Xcode 13中Info.plist缺失时如何为iOS 15应用禁用深色模式
首先需要明确一个认知误区:Xcode 13并没有完全移除Info.plist,只是新建项目默认将Info.plist的配置内容整合到了项目设置的Info标签页中,你可以通过以下两种主流方式完成深色模式的全局禁用:
方法1:通过项目设置直接配置(无需代码)
- 打开Xcode项目,在左侧项目导航栏点击最顶部的项目根节点,进入项目设置页
- 在
TARGETS列表下选中你要配置的应用目标 - 切换到顶部的「Info」标签页
- 找到「Custom iOS Target Properties」区域(即原Info.plist的配置项列表)
- 点击列表最后一行的+号,添加新的配置项
UIUserInterfaceStyle(也可直接搜索「User Interface Style」) - 将该配置项的值设置为
Light
配置完成后打包运行,应用全局默认只会使用浅色模式,不会跟随系统深色模式开关切换。
方法2:通过代码全局指定界面样式
如果更习惯通过代码控制样式,可以在App启动完成后直接设置全局window的样式属性:
- 针对使用SceneDelegate的项目,在
scene:willConnectToSession:options:方法中添加对应代码:
Swift版本:
Objective-C版本:window?.overrideUserInterfaceStyle = .lightself.window.overrideUserInterfaceStyle = UIUserInterfaceStyleLight; - 针对没有SceneDelegate的老项目,直接在AppDelegate的
didFinishLaunchingWithOptions方法中添加上述代码即可。
以上两种方式均为全局生效,如果你需要个别页面单独适配深色/浅色模式,可以单独对对应UIViewController或者UIView的overrideUserInterfaceStyle属性进行设置。
补充:恢复Xcode 13项目的独立Info.plist文件
如果你仍习惯使用传统的独立Info.plist文件编辑配置,可以按以下操作切换:
- 打开项目设置中对应TARGETS的「Info」标签页,提前备份所有自定义配置
- 切换到「Build Settings」标签页,搜索「Generate Info.plist File」,将配置项改为
NO - 手动新建Info.plist文件加入项目,在Build Settings中指定「Info.plist File」的路径为你新建的文件路径即可,后续可和旧版本Xcode一样编辑Info.plist配置。
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

