qmake: Fix iOS code signing after QSettings behavior change

6d9ec41f6f changed the behavior of
QSettings::NativeFormat for .plist files.

Previously an array of values was flattened into a multi-key QMap.

Now that QMap doesn't support multiple values for the same key,
the array is returned as QVariantList.

Adjust the code to take that into account.

Task-number: QTBUG-87218
Change-Id: I0cbf8ac7ef10b81539a29d1e68a09a40d3fe74ca
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This commit is contained in:
Alexandru Croitor 2020-10-06 17:58:48 +02:00
parent f4442d4670
commit 1925909c5f

View File

@ -499,9 +499,14 @@ static QList<QVariantMap> provisioningTeams()
QList<QVariantMap> flatTeams;
for (QVariantMap::const_iterator it = teamMap.begin(), end = teamMap.end(); it != end; ++it) {
const QString emailAddress = it.key();
QVariantMap team = it.value().toMap();
team[QLatin1String("emailAddress")] = emailAddress;
flatTeams.append(team);
const QVariantList emailTeams = it.value().toList();
for (QVariantList::const_iterator teamIt = emailTeams.begin(),
teamEnd = emailTeams.end(); teamIt != teamEnd; ++teamIt) {
QVariantMap team = teamIt->toMap();
team[QLatin1String("emailAddress")] = emailAddress;
flatTeams.append(team);
}
}
// Sort teams so that Free Provisioning teams come last