snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb in fastlane-2.67.0.beta.20171127010003 vs snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb in fastlane-2.67.0.beta.20171128010003

- old
+ new

@@ -29,10 +29,13 @@ File.delete(log_path) if File.exist?(log_path) # Break up the array of devices into chunks that can # be run simultaneously. if launcher_config.concurrent_simulators? - device_batches = launcher_config.devices.each_slice(default_number_of_simultaneous_simulators).to_a + all_devices = launcher_config.devices + # We have to break up the concurrent simulators by device version too, otherwise there is an error (see #10969) + by_simulator_version = all_devices.group_by { |d| FastlaneCore::DeviceManager.latest_simulator_version_for_device(d) }.values + device_batches = by_simulator_version.flat_map { |a| a.each_slice(default_number_of_simultaneous_simulators).to_a } else # Put each device in it's own array to run tests one at a time device_batches = launcher_config.devices.map { |d| [d] } end