getPhysicalDevices method
Implementation
@override
Future<List<Device>> getPhysicalDevices() async {
if (!Platform.isMacOS) return [];
final tempDirectory = Directory.systemTemp;
final outputFile = File('${tempDirectory.path}/ios_devices.json');
try {
final devicectl = await _exec.run(
'xcrun',
arguments: ['devicectl', 'list', 'devices', '-j', outputFile.path],
);
if (!devicectl.success) return [];
final json =
jsonDecode(await outputFile.readAsString()) as Map<String, dynamic>;
return _parsePhysicalDevices(json);
} catch (e, st) {
log('IOSDeviceService.getPhysicalDevices error: $e\n$st');
return [];
} finally {
if (outputFile.existsSync()) {
outputFile.deleteSync();
}
}
}