Unverified Commit 47f62109 authored by Alexander Aprelev's avatar Alexander Aprelev Committed by GitHub

Specify UDID for idevicelistener. (#23854)

This is needed to run flutter app on multiple iOS devices at a time.
parent 0b35937b
...@@ -475,7 +475,7 @@ class _IOSDeviceLogReader extends DeviceLogReader { ...@@ -475,7 +475,7 @@ class _IOSDeviceLogReader extends DeviceLogReader {
String get name => device.name; String get name => device.name;
void _start() { void _start() {
iMobileDevice.startLogger().then<void>((Process process) { iMobileDevice.startLogger(device.id).then<void>((Process process) {
_process = process; _process = process;
_process.stdout.transform<String>(utf8.decoder).transform<String>(const LineSplitter()).listen(_newLineHandler()); _process.stdout.transform<String>(utf8.decoder).transform<String>(const LineSplitter()).listen(_newLineHandler());
_process.stderr.transform<String>(utf8.decoder).transform<String>(const LineSplitter()).listen(_newLineHandler()); _process.stderr.transform<String>(utf8.decoder).transform<String>(const LineSplitter()).listen(_newLineHandler());
......
...@@ -127,7 +127,7 @@ class IMobileDevice { ...@@ -127,7 +127,7 @@ class IMobileDevice {
} }
/// Starts `idevicesyslog` and returns the running process. /// Starts `idevicesyslog` and returns the running process.
Future<Process> startLogger() => runCommand(<String>['idevicesyslog']); Future<Process> startLogger(String deviceID) => runCommand(<String>['idevicesyslog', '-u', deviceID]);
/// Captures a screenshot to the specified outputFile. /// Captures a screenshot to the specified outputFile.
Future<void> takeScreenshot(File outputFile) { Future<void> takeScreenshot(File outputFile) {
......
...@@ -100,7 +100,7 @@ f577a7903cc54959be2e34bc4f7f80b7009efcf4 ...@@ -100,7 +100,7 @@ f577a7903cc54959be2e34bc4f7f80b7009efcf4
}); });
testUsingContext('suppresses non-Flutter lines from output', () async { testUsingContext('suppresses non-Flutter lines from output', () async {
when(mockIMobileDevice.startLogger()).thenAnswer((Invocation invocation) { when(mockIMobileDevice.startLogger('123456')).thenAnswer((Invocation invocation) {
final Process mockProcess = MockProcess(); final Process mockProcess = MockProcess();
when(mockProcess.stdout).thenAnswer((Invocation invocation) => when(mockProcess.stdout).thenAnswer((Invocation invocation) =>
Stream<List<int>>.fromIterable(<List<int>>[''' Stream<List<int>>.fromIterable(<List<int>>['''
...@@ -130,7 +130,7 @@ f577a7903cc54959be2e34bc4f7f80b7009efcf4 ...@@ -130,7 +130,7 @@ f577a7903cc54959be2e34bc4f7f80b7009efcf4
}); });
testUsingContext('includes multi-line Flutter logs in the output', () async { testUsingContext('includes multi-line Flutter logs in the output', () async {
when(mockIMobileDevice.startLogger()).thenAnswer((Invocation invocation) { when(mockIMobileDevice.startLogger('123456')).thenAnswer((Invocation invocation) {
final Process mockProcess = MockProcess(); final Process mockProcess = MockProcess();
when(mockProcess.stdout).thenAnswer((Invocation invocation) => when(mockProcess.stdout).thenAnswer((Invocation invocation) =>
Stream<List<int>>.fromIterable(<List<int>>[''' Stream<List<int>>.fromIterable(<List<int>>['''
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment