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

brqmpdu1  于 2022-12-24  发布在  其他
关注(0)|答案(9)|浏览(185)

我想从命令行启动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中找到了替代品吗?

li9yvcax

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>

kokeuurv

kokeuurv2#

使用Xcode 6时,如果您希望iOS Simulator.app在启动时 Boot 特定设备,可以从命令行运行此命令:
第一个月
您可以在其中找出要从中 Boot 的设备的UDID:
xcrun simctl list
在Xcode 7中,应用程序被重命名为Simulator.app,因此您应该相应地更新上述内容:
open -a Simulator --args -CurrentDeviceUDID <DEVICE UDID>

fsi0uk1n

fsi0uk1n3#

对于xcode 7:
第一个月
xcrun simctl list获取模拟器udid

dsekswqp

dsekswqp4#

要启动一个带有特定设备的模拟器,我使用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启动模拟器(% generation booted):

/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator -CurrentDeviceUDID 84DAB7AB-3CA2-4F5B-8C4E-A5B54CA15C31

2018年5月23日更新

Xcode 9.3 CurrentDevice UDID选项不适用于我,作为解决方案,我必须在打开设备之前使用simctl在模拟器中 Boot 设备。

xcrun simctl boot 2BF01FC0-7E29-4AF1-ADD1-886DF129A9A9
open -a Simulator

您可以使用simctl创建、擦除、删除、 Boot 、关闭和升级模拟器。

$ 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
rsl1atfo

rsl1atfo5#

要 Boot 模拟器:

xcrun simctl boot "iPhone X"

它将以无头模式 Boot 。要使模拟器可见:

open -a Simulator

xcrun simctl bootxcrun instruments -w简单。instruments需要完整的设备名称。

nxowjjhe

nxowjjhe6#

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

instruments -w "simulator-version"

例如:
instruments -w "iPhone Retina (3.5-inch) - Simulator - iOS 7.1".
您将使用instruments -w help命令获得可用的hardvare-iOS组合。

hc2pp10m

hc2pp10m7#

在Xcode 9.4.1中验证
设备列表在一个非常好的格式:第一个月

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的详细解释。

lf5gs5x2

lf5gs5x28#

运行此命令。应用程序将在更改后重新启动。无需再次重建。

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

对于设备类型ID列表:

ios-sim showdevicetypes
l2osamch

l2osamch9#

任何人有这个问题,这个命令将打开ios模拟器从命令提示符

open -a simulator

相关问题