Class: FastlaneCore::DeviceManager::Device

Inherits:
Object
  • Object
show all
Defined in:
fastlane_core/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_type: nil, os_version: nil, state: nil, is_simulator: nil) ⇒ Device

Returns a new instance of Device.



187
188
189
190
191
192
193
194
195
# File 'fastlane_core/lib/fastlane_core/device_manager.rb', line 187

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

Instance Attribute Details

#ios_versionObject

Preserved for backwards compatibility



183
184
185
# File 'fastlane_core/lib/fastlane_core/device_manager.rb', line 183

def ios_version
  @ios_version
end

#is_simulatorObject

Returns the value of attribute is_simulator.



185
186
187
# File 'fastlane_core/lib/fastlane_core/device_manager.rb', line 185

def is_simulator
  @is_simulator
end

#nameObject

Returns the value of attribute name.



179
180
181
# File 'fastlane_core/lib/fastlane_core/device_manager.rb', line 179

def name
  @name
end

#os_typeObject

Returns the value of attribute os_type.



181
182
183
# File 'fastlane_core/lib/fastlane_core/device_manager.rb', line 181

def os_type
  @os_type
end

#os_versionObject

Returns the value of attribute os_version.



182
183
184
# File 'fastlane_core/lib/fastlane_core/device_manager.rb', line 182

def os_version
  @os_version
end

#stateObject

Returns the value of attribute state.



184
185
186
# File 'fastlane_core/lib/fastlane_core/device_manager.rb', line 184

def state
  @state
end

#udidObject

Returns the value of attribute udid.



180
181
182
# File 'fastlane_core/lib/fastlane_core/device_manager.rb', line 180

def udid
  @udid
end

Instance Method Details

#deleteObject



208
209
210
211
212
213
# File 'fastlane_core/lib/fastlane_core/device_manager.rb', line 208

def delete
  UI.message("Deleting #{self}")
  `xcrun simctl shutdown #{self.udid}` unless self.state == "Shutdown"
  `xcrun simctl delete #{self.udid}`
  return
end

#resetObject



201
202
203
204
205
206
# File 'fastlane_core/lib/fastlane_core/device_manager.rb', line 201

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

#to_sObject



197
198
199
# File 'fastlane_core/lib/fastlane_core/device_manager.rb', line 197

def to_s
  self.name
end