#!/usr/bin/env ruby # -*- mode: ruby -*- # vi: set ft=ruby : require 'JSON' device_types = JSON.parse `xcrun simctl list -j devicetypes` runtimes = JSON.parse `xcrun simctl list -j runtimes` devices = JSON.parse `xcrun simctl list -j devices` devices['devices'].each do |runtime, runtime_devices| runtime_devices.each do |device| puts "Removing device #{device['name']} (#{device['udid']})" `xcrun simctl delete #{device['udid']}` end end device_types['devicetypes'].each do |device_type| runtimes['runtimes'].select{|runtime| runtime['availability'] == '(available)'}.each do |runtime| puts "Creating #{device_type['name']} with #{runtime['name']}" command = "xcrun simctl create '#{device_type['name']}' #{device_type['identifier']} #{runtime['identifier']}" command_output = `#{command}` sleep 0.5 end end