Class: DeviceAPI::IOS::IDevice
- Inherits:
-
Execution
- Object
- Execution
- DeviceAPI::IOS::IDevice
- Defined in:
- lib/device_api/ios/idevice.rb
Overview
Namespace for all methods encapsulating idevice calls
Class Method Summary collapse
-
.devices ⇒ Array
Returns an array of hashes representing connected devices.
-
.get_props(device_id) ⇒ Hash
Returns a Hash containing properties of the specified device using idevice_id.
-
.trusted?(device_id) ⇒ Boolean
Check to see if device has trusted the computer.
Class Method Details
.devices ⇒ Array
Returns an array of hashes representing connected devices
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/device_api/ios/idevice.rb', line 12 def self.devices result = execute_with_timeout_and_retry('idevice_id -l') raise IDeviceCommandError.new(result.stderr) if result.exit != 0 lines = result.stdout.split("\n") results = [] lines.each do |ln| if /[0-9a-zA-Z].*/.match(ln) results.push(ln => execute_with_timeout_and_retry("ideviceinfo -u #{ln} -k DeviceName").stdout.split("\n")) end end results end |
.get_props(device_id) ⇒ Hash
Returns a Hash containing properties of the specified device using idevice_id.
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/device_api/ios/idevice.rb', line 41 def self.get_props(device_id) result = execute("ideviceinfo -u '#{device_id}'") raise IDeviceCommandError.new(result.stderr) if result.exit != 0 result = result.stdout props = {} unless result.start_with?('Usage:') prop_list = result.split("\n") prop_list.each do |line| matches = line.scan(/(.*): (.*)/) prop_name, prop_value = matches[0] props[prop_name.strip] = prop_value.strip end end props end |
.trusted?(device_id) ⇒ Boolean
Check to see if device has trusted the computer
31 32 33 34 35 36 |
# File 'lib/device_api/ios/idevice.rb', line 31 def self.trusted?(device_id) result = execute("ideviceinfo -u '#{device_id}'") return true if result.exit == 0 && !result.stdout.split("\n")[0].match('Usage') false end |