我正试图从命令行运行iOS模拟器。我已经找到了iPhone模拟器可以运行的位置。我的问题是它是否可以接收参数来指定应该启动哪个设备以及应该运行哪个应用程序。
$ ./Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator
有谁知道这有什么诀窍吗?了解更多这方面的知识将对我们的持续集成过程有帮助。
我们现在使用WaxSim在CI构建期间自动化我们的iOS应用程序
使用-SimulateApplication
参数在模拟器中运行可执行文件(.app
包中的可执行文件)
(你也可以像这样从命令行编译这个项目:)xcodebuild -project Test.xcodeproj -arch i386 -sdk iphonesimulator
然后例如:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator -SimulateApplication Test.app/Test
或
./Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator -SimulateApplication Test.app/Test
启动一个特定的设备,你可以这样做:
/应用程序/xcode/内容/开发/平台/iPhoneSimulator。平台/开发/应用程序/iPhone 模拟器。app/Contents/MacOS/iPhone Simulator -SimulateDevice "iPhone Retina(3.5寸)"
在Xcode 6的shell中试试
osascript -e 'activate application "iOS Simulator"'
For Xcode 7
osascript -e 'activate application "Simulator"'
如果你想打开模拟器与特定的应用程序安装,那么你可以使用一些现成的实用程序来启动模拟器。这样就很容易安装应用程序并在模拟器上运行。这些是可以从终端窗口运行的命令行实用程序。
- iPhoneSim
- ios-sim
- 其他与以上两个相同。
主要是使用相同的方法打开模拟器。(详情见项目)
另一种方法(我不推荐)使用脚本文件从命令运行
您可以使用xcrun simctl
列出可用的模拟器,启动应用程序等。这个工具在Xcode 7和Xcode 8中都有。如果你不给它一个命令,它将打印命令行帮助。
xcrun simctl launch <UUID> <bundle id of app>
将启动应用程序