如何在Xcode 9上运行多个模拟器?

时间:2017-06-06 08:11:34

标签: xcode ios-simulator

根据 Xcode上的新内容,Xcode 9允许我们运行多个模拟器实例。

但是这样做的方法是什么?

我尝试了Build & Run在不同的模型上,但Quit是当前的实例。

8 个答案:

答案 0 :(得分:33)

我解决了我的问题,它非常简单" :

在模拟器上,您必须从Hardware > Devices中选择一个新设备。新实例将开始。

然后,在Xcode上选择您的模型。

Here is解决方案。

答案 1 :(得分:5)

Xcode允许您并行运行模拟(如果这是应用程序功能的一部分,则也可以相互通信),但是您不能在相同的模拟设备类型上运行并行模拟(即,您不能模拟在两个iPhone 11 Pro上,但是您的模拟可能是例如iPhone 11 Pro Max和iPhone 11 Pro。)

  1. 在Xcode中,选择您的第一个模拟目标平台(Xcode-Product-Destination-select iOS模拟器),然后运行并启动模拟(例如,⌘B,⌘R)。
  2. 在Xcode中,从执行Debug-Detach。您的应用程序模拟将继续运行,但是Xcode将不再与其连接。
  3. 选择不同 iOS模拟器设备。
  4. 运行并启动第二个模拟(即⌘B,⌘R)。

我怀疑您也可以通过重复步骤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)

我不得不从“调试”中分离运行的应用程序 - >如果已经有一个模拟器实例正在运行以获得多个一次运行

,则“从____分离”菜单

image

答案 4 :(得分:2)

只需从型号列表中选择设备名称:

Select multiple simulators for the same app

enter image description here

答案 5 :(得分:0)

尽管接受的答案将启动另一个模拟器实例,但实际上并不会启动您的应用程序进行调试-除非我遗漏了某些东西-因此在此之后,请执行以下操作:

  1. 在新的模拟器实例中“手动”运行您的应用程序-假定它先前已部署到此设备/ iOS组合中。
  2. 在“ Xcode调试”菜单中,选择“附加到进程”菜单项,然后从“类似目标”列表中选择在步骤1中启动的实例。

现在您正在两个模拟器中运行和调试应用程序。

答案 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):

  • 在模拟器 1 上运行代码
  • Debug->Detach,然后在模拟器 2 上运行
  • 调试->附加进程,然后从顶部(可能的目标)中选择