我想从命令行启动iPhone模拟器。
到目前为止,我一直使用以下命令
/应用程序/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone模拟器-模拟设备
-SimulateDevice用于启动特定设备类型
现在,Xcode 6的路径和应用程序已更改为
/应用程序/Xcode.app/Contents/Developer/Applications/iOS Simulator.app/Contents/MacOS/iOS模拟器
但遗憾的是-SimulateDevice选项现在不起作用。我可以启动模拟器,但没有指定启动哪个的选项
有人在Xcode 6中找到了替代品吗?
9条答案
按热度按时间li9yvcax1#
找到了实现我梦想的方法。
苹果推出了一个有趣的工具与Xcode 6!
第一个月
simclt允许您控制正在运行的模拟器。
运行
xcrun simctl
来获得可用子命令的列表。2有很多新的选项可以使用。现在,为了完成我想要的任务,下面是启动模拟器的命令:
xcrun instruments -w "iPhone 5 (8.0 Simulator)"
-w用于提供设备类型并获取可用设备列表。
执行以下命令:
xcrun instruments -s
启动模拟器后,您可以使用
simctl
对其进行控制要安装您的应用:
xcrun simctl install booted <app path>
要启动应用程序:
xcrun simctl launch booted <app identifier>
kokeuurv2#
使用Xcode 6时,如果您希望iOS Simulator.app在启动时 Boot 特定设备,可以从命令行运行此命令:
第一个月
您可以在其中找出要从中 Boot 的设备的UDID:
xcrun simctl list
在Xcode 7中,应用程序被重命名为Simulator.app,因此您应该相应地更新上述内容:
open -a Simulator --args -CurrentDeviceUDID <DEVICE UDID>
fsi0uk1n3#
对于xcode 7:
第一个月
从
xcrun simctl list
获取模拟器udiddsekswqp4#
要启动一个带有特定设备的模拟器,我使用list devices子命令来获取所有可用设备的列表
此命令将输出可用设备及其UDID和状态的列表
然后启动模拟器应用程序,使用-CurrentDeviceUDID选项指定设备
注:使用列表中的有效UDID替换。
例如,如果我们想用iPad启动模拟器(% generation booted):
2018年5月23日更新
Xcode 9.3 CurrentDevice UDID选项不适用于我,作为解决方案,我必须在打开设备之前使用simctl在模拟器中 Boot 设备。
您可以使用simctl创建、擦除、删除、 Boot 、关闭和升级模拟器。
获取有效的设备类型和运行时的列表
rsl1atfo5#
要 Boot 模拟器:
它将以无头模式 Boot 。要使模拟器可见:
xcrun simctl boot
比xcrun instruments -w
简单。instruments
需要完整的设备名称。nxowjjhe6#
您可以使用-w标志指定硬件和iOS版本。
例如:
instruments -w "iPhone Retina (3.5-inch) - Simulator - iOS 7.1"
.您将使用
instruments -w help
命令获得可用的hardvare-iOS组合。hc2pp10m7#
在Xcode 9.4.1中验证
设备列表在一个非常好的格式:第一个月
然后,您希望运行(打开)模拟器应用程序,并确保启动该应用程序的新示例。
应用程序在这里:
/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app
你会用这样的格式:
open -n -a <SimulatorPath> --args -CurrentDeviceUDID <SimDeviceTypeUDID>
所以,如果我想启动上面的模拟器,我会这样做。
open -n -a /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID AB335FAF-E3E3-4AE9-A0AF-D1C6AEB5FBD4
太棒了!我刚刚测试过它,它可以在Mac OS 10.11.6上工作。现在下一个技巧是告诉模拟器打开我们安装的应用程序。我还没有到那里。希望这能有所帮助。感谢https://stackoverflow.com/users/726106/jeremy-huddleston-sequoia的详细解释。
lf5gs5x28#
运行此命令。应用程序将在更改后重新启动。无需再次重建。
对于设备类型ID列表:
l2osamch9#
任何人有这个问题,这个命令将打开ios模拟器从命令提示符