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',
'--filter',
"Reality = 'physical'",
'-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();
}
}
}