XCode技术问询:如何在测试运行期间禁用Touch Bar模拟器?
我之前也碰到过这个烦人的问题!每次用Xcode构建项目或者跑UI测试时,Touch Bar模拟器突然弹出来挡着操作,严重干扰测试流程,手动隐藏实在太麻烦。下面几个方法能帮你彻底解决这个问题,亲测有效:
方法1:用终端命令永久禁用
打开「终端」,执行这条命令:defaults write com.apple.dt.Xcode ShowTouchBarSimulator -bool NO
执行完成后重启Xcode,之后不管是构建项目还是运行测试,Touch Bar模拟器都不会自动弹出来了。如果之后想恢复功能,把命令里的NO改成YES再执行一次就行。
方法2:手动修改Xcode配置文件(进阶方案)
如果你习惯直接修改配置文件,也可以这么操作:
- 打开「应用程序」文件夹,找到Xcode,右键选择「显示包内容」
- 进入
Contents目录,找到Info.plist文件,用文本编辑器或者plist编辑器打开 - 找到
ShowTouchBarSimulator这个键,把它的布尔值从YES改成NO - 保存文件后重启Xcode即可。如果提示没有权限保存,可以先把plist文件复制到桌面修改,再替换回原目录,输入管理员密码确认。
方法3:仅在UI测试时禁用(灵活方案)
要是你只是不想在跑UI测试时被干扰,平时开发还想用Touch Bar模拟器,可以在UI测试的初始化方法里添加代码:
import XCTest class YourCustomUITestCase: XCTestCase { override func setUpWithError() throws { try super.setUpWithError() // 启动App时禁用Touch Bar模拟器 let app = XCUIApplication() app.launchEnvironment["XCODE_SHOW_TOUCH_BAR_SIMULATOR"] = "NO" app.launch() } }
这样只有运行UI测试时会禁用Touch Bar模拟器,日常开发构建不受影响。
内容的提问来源于stack exchange,提问作者Andrew Taylor
相关产品推荐
相关产品推荐

