diff --git a/packages/flutter_tools/lib/src/ios/devices.dart b/packages/flutter_tools/lib/src/ios/devices.dart index 9bad5a3d472..ebc5ad00ebe 100644 --- a/packages/flutter_tools/lib/src/ios/devices.dart +++ b/packages/flutter_tools/lib/src/ios/devices.dart @@ -10,6 +10,7 @@ import 'package:process/process.dart'; import 'package:vm_service/vm_service.dart' as vm_service; import '../application_package.dart'; +import '../base/common.dart'; import '../base/file_system.dart'; import '../base/io.dart'; import '../base/logger.dart'; @@ -678,6 +679,10 @@ class IOSDeviceLogReader extends DeviceLogReader { return; } try { + // The VM service will not publish logging events unless the debug stream is being listened to. + // Listen to this stream as a side effect. + unawaited(connectedVmService.streamListen('Debug')); + await Future.wait(>[ connectedVmService.streamListen(vm_service.EventStreams.kStdout), connectedVmService.streamListen(vm_service.EventStreams.kStderr), diff --git a/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart index bd95e87df0a..f1ff16c5659 100644 --- a/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart @@ -189,6 +189,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt equals(' This is a message '), equals(' And this is an error '), ])); + verify(vmService.streamListen('Debug')); }); }