根据 Xcode上的新内容,Xcode 9允许我们运行多个模拟器实例。
但是这样做的方法是什么?
我尝试了Build & Run
在不同的模型上,但Quit
是当前的实例。
答案 0 :(得分:33)
答案 1 :(得分:5)
Xcode允许您并行运行模拟(如果这是应用程序功能的一部分,则也可以相互通信),但是您不能在相同的模拟设备类型上运行并行模拟(即,您不能模拟在两个iPhone 11 Pro上,但是您的模拟可能是例如iPhone 11 Pro Max和iPhone 11 Pro。)
我怀疑您也可以通过重复步骤2将第二个模拟与Xcode分离,然后将Xcode重新附加到第一个实例,例如,如果您希望能够检查任一模拟设备上正在发生的事情,但是我没有试过了。
答案 2 :(得分:3)
您可以使用xcodebuild终端命令(如
)运行多个模拟器xcodebuild test-without-building -xctestrun /PathTo/.xctestrun -sdk iphonesimulator -destination'platform = iOS模拟器,id = name = iPhone 7,OS = 10.3.1' -destination'平台= iOS模拟器,名称= iPhone 7,OS = 10.3.1' -destination-timeout 300 -derivedDataPath / pathtoyourderivedata - 只测试:YourTestScheme / YourTestClass / YouTestMethod
这里的诀窍是继续在想要运行测试的设备上添加目标 -目的地 test-without-building - 如果您的项目已经构建。
答案 3 :(得分:3)
我不得不从“调试”中分离运行的应用程序 - >如果已经有一个模拟器实例正在运行以获得多个一次运行
,则“从____分离”菜单答案 4 :(得分:2)
答案 5 :(得分:0)
尽管接受的答案将启动另一个模拟器实例,但实际上并不会启动您的应用程序进行调试-除非我遗漏了某些东西-因此在此之后,请执行以下操作:
现在您正在两个模拟器中运行和调试应用程序。
答案 6 :(得分:0)
1. check all device first:
xcrun instruments -s devices
2. go to base folder of proeject and open terminal
3. run command to Build:
xcodebuild \
-workspace nsplus.xcworkspace \
-scheme nsplus \
-destination 'platform=iOS Simulator,OS=13.5,name=iPhone 11 Pro Max' \
-destination 'platform=iOS Simulator,OS=13.5,name=iPhone SE (2nd generation)' \
-destination 'platform=iOS Simulator,OS=13.5,name=iPhone 8' \
build-for-testing
4. Run command to run these simulator:
xcodebuild \
-workspace nsplus.xcworkspace \
-scheme nsplus \
-destination 'platform=iOS Simulator,OS=13.5,name=iPhone 11 Pro Max' \
-destination 'platform=iOS Simulator,OS=13.5,name=iPhone SE (2nd generation)' \
-destination 'platform=iOS Simulator,OS=13.5,name=iPhone 8' \
test-without-building &
答案 7 :(得分:0)
在 Xcode 中执行以下操作(我使用的是 Xcode 12):