Xcode 6 – 从命令行启动模拟器

我想从命令行启动iPhone模拟器。

直到现在我一直在使用下面的命令

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator -SimulateDevice

-SimulateDevice用于启动特定的设备types

现在用Xcode 6的path和应用程序已经改变

/Applications/Xcode.app/Contents/Developer/Applications/iOS Simulator.app/Contents/MacOS/iOS Simulator

但可悲-SimulateDevice选项现在不工作。 我可以启动模拟器,但没有选项来指定启动哪一个

任何人发现任何替代这与Xcode 6?

find了一种方法来实现我想要的。

苹果已经推出了Xcode 6的一个有趣的工具!

simctl

simclt允许你控制正在运行的模拟器。

运行xcrun simctl以获取可用子命令的列表。 很多新的select玩弄。

现在做我想做的事,这里是启动模拟器的命令:

xcrun instruments -w "iPhone 5 (8.0 Simulator)"

-w是提供设备types并获取可用设备的列表。

只要执行这个:

xcrun instruments -s

启动模拟器后,您可以使用simctl来控制它

要安装你的应用程序:

xcrun simctl install booted <app path>

要启动应用程序:

xcrun simctl launch booted <app identifier>

希望这可以帮助。

使用Xcode 6,如果你想让iOS Simulator.app在启动时启动一个特定的设备,你可以从命令行运行:

open -a "iOS Simulator" --args -CurrentDeviceUDID <DEVICE UDID>

在那里你可以找出你想要启动的设备的UDID:

xcrun simctl list

随着Xcode 7,应用程序被重命名为Simulator.app,所以你应该相应地更新上面的:

open -a Simulator --args -CurrentDeviceUDID <DEVICE UDID>

对于xcode 7:

open /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID <DeviceUDID>

xcrun simctl list获取您的模拟器udid

您可以使用-w标志指定硬件和iOS版本。 格式是

 instruments -w "simulator-version" 

例如:

instruments -w "iPhone Retina (3.5-inch) - Simulator - iOS 7.1"

您将通过使用instruments -w help命令获得可用的hardvare-iOS组合。

运行这个命令。 该应用程序将重新启动,然后进行更改。 不需要重新构build它。

 ios-sim "launch" "/Library/WebServer/Documents/testapp/build/iphone/build/Debug-iphonesimulator/test.app" "--devicetypeid" "iPad-2" "--exit"; 

对于devicetypeid列表:

 ios-sim showdevicetypes 

从Xcode 7.3.1开始

设备列表中一个~/Library/Developer/CoreSimulator/Devices/device_set.plist格式: ~/Library/Developer/CoreSimulator/Devices/device_set.plist

 Root DefaultDevices com.apple.CoreSimulator.SimRuntime.iOS-8-4 com.apple.CoreSimulator.SimDeviceType.iPad-Retina : AB335FAF-E3E3-4AE9-A0AF-D1C6AEB5FBD4 

然后,您要运行(打开)您的模拟器应用程序,并确保应用程序的新实例启动。

该应用程序在这里: /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

该死的! 我只是testing它,它适用于Mac OS 10.11.6。 现在下一个技巧是告诉模拟器打开我们安装的应用程序。 我还没有呢。 希望这可以帮助。 感谢https://stackoverflow.com/users/726106/jeremy-huddleston-sequoia的详细解释。;