From fd4b8aa5a87c25e010d5c446a9777eae29521354 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Thu, 11 Jan 2024 14:28:33 +0100 Subject: [PATCH] iOS: Fix provisioning profile check for "newer" devices MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before deploying we check if the provisioning information includes the device that is deployed to. This suffers from the same issue as QTCREATORBUG-21291: We use the USB identifier for the device ID in Qt Creator, which cannot contain dashes, but the iOS hardware udid that Apple uses can contain dashes (and the USB identifier then is that udid without the dashes). We need to use the iOS hardware udid when checking for the device in the provisioning information. Fixes: QTCREATORBUG-30158 Change-Id: I6f9e162ad6ece02370923ea59c046f439b8cc47a Reviewed-by: Tor Arne Vestbø Reviewed-by: --- src/plugins/ios/iosdeploystep.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/ios/iosdeploystep.cpp b/src/plugins/ios/iosdeploystep.cpp index 3f80d9d931a..354f40132da 100644 --- a/src/plugins/ios/iosdeploystep.cpp +++ b/src/plugins/ios/iosdeploystep.cpp @@ -236,7 +236,7 @@ bool IosDeployStep::checkProvisioningProfile() return true; const QStringList deviceIds = provisionPlist.value("ProvisionedDevices").toStringList(); - const QString targetId = device->uniqueDeviceID(); + const QString targetId = device->uniqueInternalDeviceId(); for (const QString &deviceId : deviceIds) { if (deviceId == targetId) return true;