[英]Xcode 6 - Launch simulator from command line
我想从命令行启动 iPhone 模拟器。
直到现在我一直在使用下面的命令
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator -SimulateDevice
-SimulateDevice 用于启动特定的设备类型
现在使用 Xcode 6,路径和应用程序已更改为
/Applications/Xcode.app/Contents/Developer/Applications/iOS Simulator.app/Contents/MacOS/iOS Simulator
但遗憾的是 -SimulateDevice 选项现在不起作用。 我可以启动模拟器,但没有指定要启动哪个的选项
有人用 Xcode 6 找到了替代品吗?
找到了实现我想要的方法。
Apple推出了一款有趣的Xcode 6工具!
simctl
simclt允许您控制正在运行的模拟器。
运行xcrun simctl
以获取可用子命令的列表。 有很多新的选择可以玩。
现在做我想要的,这是启动模拟器的命令:
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>
希望这可以帮助。
使用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
要启动启动了特定设备的模拟器,我使用list devices子命令获取所有可用设备的列表
$ xcrun simctl list devices
== Devices ==
-- iOS 11.2 --
iPhone 5s (E3B6EA43-C805-49C2-9502-A44A465D8DF2) (Shutdown)
iPhone 6 (801E9E11-CA86-473A-9879-4B0742B827FB) (Shutdown)
iPhone 6 Plus (24013349-1A6F-489C-9A68-ABB00EBB4BBF) (Shutdown)
iPhone 6s (1A594D75-146C-4BEA-A250-1FADE7886114) (Shutdown)
iPhone 6s Plus (C2730FA0-11CB-49C9-A087-CB3C1BF1CC3D) (Shutdown)
iPhone 7 (F58B3749-3276-49E5-81C8-EBA1AEA7B242) (Shutdown)
iPhone 7 Plus (98167D8C-8F27-404C-AB02-588D9AAFD071) (Shutdown)
iPhone 8 (96322368-F763-4E0A-8576-ADE9F678211F) (Shutdown)
iPhone 8 Plus (E916D1EE-B67B-4C01-B3F5-C5C80CC4CDF8) (Shutdown)
iPhone SE (ABEFEDDF-7A7C-4B94-9E91-E065170FA47F) (Shutdown)
iPhone X (84DAB7AB-3CA2-4F5B-8C4E-A5B54CA15C31) (Shutdown)
iPad Air (DCD8CF4B-2C9F-4BA1-952A-ACB9CAD0A84D) (Shutdown)
iPad Air 2 (A47C9A05-233F-450F-9A39-318258E9ADEA) (Shutdown)
iPad (5th generation) (819C058E-64AC-4E73-8F41-2C0F919F8B56) (Booted)
此命令将输出包含其UDID和状态的可用设备列表
然后我启动模拟器应用程序,指定具有-CurrentDeviceUDID选项的设备
/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator -CurrentDeviceUDID <DEVICE-UDID>
注意:使用列表中的有效UDID替换它。
例如,如果我们想要使用Ipad启动模拟器(启动%代):
/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator -CurrentDeviceUDID 84DAB7AB-3CA2-4F5B-8C4E-A5B54CA15C31
更新23/05/2018
使用Xcode 9.3 CurrentDevice UDID选项对我来说不起作为一种解决方法,我必须使用simctl在打开它之前在模拟器中启动设备。
xcrun simctl boot 2BF01FC0-7E29-4AF1-ADD1-886DF129A9A9
open -a Simulator
您可以使用simctl创建,擦除,删除,启动,关闭和升级模拟器。
$ xcrun simctl create
Usage: simctl create <name> <device type id> <runtime id>
$ xcrun simctl delete
Usage: simctl delete <device> [... <device n>] | unavailable
获取有效设备类型和运行时的列表
xcrun simctl list devicetypes
xcrun simctl list runtimes
您可以使用-w标志指定硬件和iOS版本。 格式是
instruments -w "simulator-version"
例如:
instruments -w "iPhone Retina (3.5-inch) - Simulator - iOS 7.1"
。
您将使用instruments -w help
命令获得可用的hardvare-iOS组合。
在Xcode 9.4.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
该死的! 我刚测试它,它适用于Mac OS 10.11.6。 现在,下一个技巧是告诉模拟器打开我们已安装的应用程序。 我还没有。 希望这可以帮助。 感谢https://stackoverflow.com/users/726106/jeremy-huddleston-sequoia的详细解释。
要启动模拟器:
xcrun simctl boot "iPhone X"
它将作为无头模式启动。 要使模拟器可见:
open -a Simulator
xcrun simctl boot
比xcrun instruments -w
简单。 instruments
需要完整的设备名称。
运行此命令。 应用程序将重新启动,然后进行更改。 无需再次重建它。
ios-sim "launch" "/Library/WebServer/Documents/testapp/build/iphone/build/Debug-iphonesimulator/test.app" "--devicetypeid" "iPad-2" "--exit";
对于devicetypeid列表:
ios-sim showdevicetypes
遇到此问题的任何人,此命令将从命令提示符打开 ios 模拟器
open -a simulator
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.