Method: FastlaneCore::DeviceManager.discover_devices

Defined in:
fastlane_core/lib/fastlane_core/device_manager.rb

.discover_devices(usb_item, device_types, discovered_device_udids) ⇒ Object

Recursively handle all USB items, discovering devices that match the desired types.



117
118
119
120
121
122
123
124
125
126
127
128
129
# File 'fastlane_core/lib/fastlane_core/device_manager.rb', line 117

def discover_devices(usb_item, device_types, discovered_device_udids)
  (usb_item['_items'] || []).each do |child_item|
    discover_devices(child_item, device_types, discovered_device_udids)
  end

  is_supported_device = device_types.any?(usb_item['_name'])
  serial_num = usb_item['serial_num'] || ''
  has_serial_number = serial_num.length == 40 || serial_num.length == 24

  if is_supported_device && has_serial_number
    discovered_device_udids << serial_num
  end
end