# simctl [![Build Status](https://travis-ci.org/plu/simctl.svg?branch=master)](https://travis-ci.org/plu/simctl) [![Gem Version](https://badge.fury.io/rb/simctl.svg)](https://badge.fury.io/rb/simctl) [![Coverage Status](https://coveralls.io/repos/plu/simctl/badge.svg?branch=master&service=github)](https://coveralls.io/github/plu/simctl?branch=master) Ruby interface to xcrun simctl. ## Installation Via [bundler](http://getbundler.com) ```sh # in your Gemfile gem 'simctl' ``` ## Usage ### boot_device ```ruby device = SimCtl.device(name: 'my iphone 5', state: 'Shutdown') SimCtl.boot_device(device) # or: SimCtl.device(name: 'my iphone 5', state: 'Shutdown').boot! ``` ### create_device ```ruby SimCtl.create_device 'my iphone 5', SimCtl.devicetype(name: 'iPhone 5'), SimCtl.runtime(name: 'iOS 9.2') # ``` ### delete_device ```ruby device = SimCtl.device(name: 'my iphone 5', state: 'Booted') SimCtl.delete_device(device) # or: SimCtl.device(name: 'my iphone 5', state: 'Booted').delete! ``` ### devicetype ```ruby SimCtl.devicetype(name: 'iPhone 5') # ``` ### device ```ruby SimCtl.device(name: 'my iphone 5', state: 'Booted') # ``` ### erase_device ```ruby device = SimCtl.device(name: 'my iphone 5', state: 'Booted') SimCtl.erase_device(device) # or: SimCtl.device(name: 'my iphone 5', state: 'Booted').erase! ``` ### list_devices ```ruby SimCtl.list_devices.each do |device| puts device.inspect end # # ``` ### list_devicetypes ```ruby SimCtl.list_devicetypes.each do |devicetype| puts devicetype.inspect end # # # # # # # # # # # # # # # ``` ### list_runtimes ```ruby SimCtl.list_runtimes.each do |runtime| puts runtime.inspect end # # # # # # # # ``` ### reset_device ```ruby SimCtl.reset_device 'my iphone 5', SimCtl.devicetype(name: 'iPhone 5'), SimCtl.runtime(name: 'iOS 9.2') # ``` ### runtime ```ruby SimCtl.runtime(name: 'iOS 9.2') # ``` ### shutdown_device ```ruby device = SimCtl.device(name: 'my iphone 5', state: 'Booted') SimCtl.shutdown_device(device) # or: SimCtl.device(name: 'my iphone 5', state: 'Booted').shutdown! ```