如何使用fastlane为特定的Xcode版本重置模拟器?

时间:2018-10-05 08:42:13

标签: xcode fastlane

gitlab-ci.yml内,我有

test:
  stage: test
  before_script:
    - killall "Simulator" || true
  script:
    //how can I select proper xcode here?
    - bundle exec fastlane snapshot reset_simulators --force
    - bundle exec fastlane test
  after_script:
    - killall "Simulator" || true
    - rm -rf ~/Library/Developer/Xcode/Archives || true
  artifacts:
    name: "Staff_${CI_PIPELINE_ID}"
    paths:
      - fastlane/output/coverage
  when: on_success
  tags:
    - iOS

我为什么需要这样做?

因为reset_simulators --force为与我使用的不同xcode版本重置了模拟器;)如何强制它选择好的xcode版本?

3 个答案:

答案 0 :(得分:0)

您似乎拥有自己的Fastfile车道,test。我建议您在此处重置模拟器。然后在重设之前添加xcode_select调用。

例如:

lane :test do
  xcode_select('/Applications/Xcode9.4.1.app')
  Snapshot::ResetSimulators.clear_everything!(nil, true) # what reset_simulators ends up calling
  # your other code
end

答案 1 :(得分:0)

您是否尝试过快速通道操作“ reset_simulator_contents”

这将重置测试计算机上运行的所有模拟器。

答案 2 :(得分:0)

如果您想要scanrun_tests

现在支持 reset_simulator

  

启用此选项将在运行应用程序之前自动清除模拟器

     

SCAN_RESET_SIMULATOR

随便打电话

xcversion(version: 11.0)
run_tests(
    reset_simulator: true
)