aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Ziller <[email protected]>2025-03-19 10:29:50 +0100
committerEike Ziller <[email protected]>2025-03-19 12:21:53 +0000
commitecbbe36c38bf97bae24d8930f6fc29a7f2894b49 (patch)
tree074c648e83e2ce221bbad24e18e3b2eb5e6016fa
parent11d956b34611c03d2abedcc5648be8b6381ac0f7 (diff)
iOS: Fix running on device with Xcode 15.4
The devicectl version from Xcode 15.4 does already support the `--console` option for capturing app output, but it looks like that doesn't reliable work for all devices. Bump the requirement for app output to Xcode 16. It then uses the polling runner for Xcode < 16. Fixes: QTCREATORBUG-32637 Change-Id: Ib3fb80750b283bfbd8f9cc779b6842d92b65a3cd Reviewed-by: Richard Moe Gustavsen <[email protected]>
-rw-r--r--src/plugins/ios/iosdevice.cpp4
-rw-r--r--src/plugins/ios/iosrunner.cpp2
2 files changed, 4 insertions, 2 deletions
diff --git a/src/plugins/ios/iosdevice.cpp b/src/plugins/ios/iosdevice.cpp
index 61a99fd9b95..9707ed636b3 100644
--- a/src/plugins/ios/iosdevice.cpp
+++ b/src/plugins/ios/iosdevice.cpp
@@ -610,8 +610,10 @@ void IosDeviceManager::monitorAvailableDevices()
bool IosDeviceManager::isDeviceCtlOutputSupported()
{
+ // Theoretically the devicectl from Xcode 15.4 already has the required `--console` option,
+ // but that is broken for some (newer?) devices (QTCREATORBUG-32637).
return instance()->m_deviceCtlVersion
- && instance()->m_deviceCtlVersion >= QVersionNumber(355, 28); // Xcode 15.4
+ && instance()->m_deviceCtlVersion >= QVersionNumber(397, 21); // Xcode 16.0
}
bool IosDeviceManager::isDeviceCtlDebugSupported()
diff --git a/src/plugins/ios/iosrunner.cpp b/src/plugins/ios/iosrunner.cpp
index 8f961f30e4e..b5e30c86448 100644
--- a/src/plugins/ios/iosrunner.cpp
+++ b/src/plugins/ios/iosrunner.cpp
@@ -1016,7 +1016,7 @@ IosRunWorkerFactory::IosRunWorkerFactory()
if (IosDeviceManager::isDeviceCtlOutputSupported())
return new DeviceCtlRunner(control);
// TODO Remove the polling runner when we decide not to support iOS 17+ devices
- // with Xcode < 15.4 at all
+ // with Xcode < 16 at all
return new DeviceCtlPollingRunner(control);
}
control->setIcon(Icons::RUN_SMALL_TOOLBAR);