Class: FastlaneCore::DeviceManager::Device

Inherits:
Object
  • Object
show all
Defined in:
lib/fastlane_core/device_manager.rb

Overview

Use the UDID for the given device when setting the destination Why? Because we might get this error message

The requested device could not be found because multiple devices matched the request.

This happens when you have multiple simulators for a given device type / iOS combination { platform:iOS Simulator, id:1685B071-AFB2-4DC1-BE29-8370BA4A6EBD, OS:9.0, name:iPhone 5 } { platform:iOS Simulator, id:A141F23B-96B3-491A-8949-813B376C28A7, OS:9.0, name:iPhone 5 }

We don't want to deal with that, so we just use the UDID

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name: nil, udid: nil, os_version: nil, state: nil, is_simulator: nil) ⇒ Device

Returns a new instance of Device.



146
147
148
149
150
151
152
153
# File 'lib/fastlane_core/device_manager.rb', line 146

def initialize(name: nil, udid: nil, os_version: nil, state: nil, is_simulator: nil)
  self.name = name
  self.udid = udid
  self.os_version = os_version
  self.ios_version = os_version
  self.state = state
  self.is_simulator = is_simulator
end

Instance Attribute Details

#ios_version ⇒ Object

Preserved for backwards compatibility



142
143
144
# File 'lib/fastlane_core/device_manager.rb', line 142

def ios_version
  @ios_version
end

#is_simulator ⇒ Object

Returns the value of attribute is_simulator.



144
145
146
# File 'lib/fastlane_core/device_manager.rb', line 144

def is_simulator
  @is_simulator
end

#name ⇒ Object

Returns the value of attribute name.



139
140
141
# File 'lib/fastlane_core/device_manager.rb', line 139

def name
  @name
end

#os_version ⇒ Object

Returns the value of attribute os_version.



141
142
143
# File 'lib/fastlane_core/device_manager.rb', line 141

def os_version
  @os_version
end

#state ⇒ Object

Returns the value of attribute state.



143
144
145
# File 'lib/fastlane_core/device_manager.rb', line 143

def state
  @state
end

#udid ⇒ Object

Returns the value of attribute udid.



140
141
142
# File 'lib/fastlane_core/device_manager.rb', line 140

def udid
  @udid
end

Instance Method Details

#reset ⇒ Object



159
160
161
162
163
164
# File 'lib/fastlane_core/device_manager.rb', line 159

def reset
  UI.message("Resetting #{self}")
  `xcrun simctl shutdown #{self.udid}` if self.state == "Booted"
  `xcrun simctl erase #{self.udid}`
  return
end

#to_s ⇒ Object



155
156
157
# File 'lib/fastlane_core/device_manager.rb', line 155

def to_s
  self.name
end