我需要为自动化 UITesting 设置我的模拟器。特别是从键盘中删除自动更正、拼写检查、预测等。
我正在为这样的一个模拟器这样做:
plutil -replace KeyboardAutocapitalization -bool NO -- ~/Library/Developer/CoreSimulator/Devices/319FF855-F54C-4BB7-BDED-F0CC4B1FF8FC/data/Library/Preferences/com.apple.Preferences.plist
问题是,当测试在另一台设备上运行时,它不会设置模拟器,因为 UUID 是硬编码的。
我也可以像这样启动/选择模拟器:
currentUUID="$(xcrun simctl list devices | grep "iPhone 7 (" | egrep -o -i "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}")"
我必须放入其中iPhone 7 (
才能获得UUID
仅 iPhone 7 而不是 7+。这也只有在我之前真的选择 iPhone 7 作为 Xcode 中的模拟器时才有效。另一种方法是将 替换iPhone 7 (
为booted
。
但为了使其工作,脚本需要模拟器已经运行。当它已经运行时,更改 plist 文件实际上不会更新模拟器上的设置。
我如何能够启动一个模拟器,然后在设置它之前获取它的 UUID?
谢谢你。