You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Xcode iOS UI测试中强制应用为浅色或深色界面风格?

iOS UI测试强制切换深色/浅色模式的方法

完全可以实现,iOS上有专门的启动参数来替代macOS的-AppleInterfaceStyle,具体操作如下:

  • 替换启动参数为iOS专用的-UITraitCollectionUserInterfaceStyle,代码示例:
var app = XCUIApplication()
// 强制深色模式
app.launchArguments += ["-UITraitCollectionUserInterfaceStyle", "Dark"]
// 强制浅色模式就换成 "Light"
// app.launchArguments += ["-UITraitCollectionUserInterfaceStyle", "Light"]
app.launch()

这个参数适用于iOS 13及以上版本(深色模式从iOS13开始支持),启动后应用会直接以指定的界面风格运行,无需修改UIScreen.main.traitCollection这个只读属性。

如果需要在测试运行过程中动态切换界面风格,可以通过在被测应用中暴露一个内部接口(比如通过URL Scheme或测试专用方法),让UI测试调用该接口来切换UIWindow的overrideUserInterfaceStyle属性,不过这种方式需要在应用代码中做少量适配。

内容的提问来源于stack exchange,提问作者Nickkk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 00:35:55