Skip to content

Display the team ID and name when selecting a signing certificate#184665

Merged
auto-submit[bot] merged 3 commits into
flutter:masterfrom
alex-medinsh:ios-signing-team-name
May 16, 2026
Merged

Display the team ID and name when selecting a signing certificate#184665
auto-submit[bot] merged 3 commits into
flutter:masterfrom
alex-medinsh:ios-signing-team-name

Conversation

@alex-medinsh

@alex-medinsh alex-medinsh commented Apr 6, 2026

Copy link
Copy Markdown
Contributor

Before

[1] iPhone Developer: Profile 3 (3333CCCC33)

After

[1] iPhone Developer: Profile 3 (3333CCCC33) | Team: 4444DDDD44 My Team

Where 4444DDDD44 My Team corresponds to the team id and team name from Apple Developer account.

Fixes #184664

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [AI contribution guidelines] and understand my responsibilities, or I am not using AI tools.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
  • I signed the [CLA].
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is [test-exempt].
  • I followed the [breaking change policy] and added [Data Driven Fixes] where supported.
  • All existing and new tests are passing.

@alex-medinsh alex-medinsh requested a review from a team as a code owner April 6, 2026 15:27
@github-actions github-actions Bot added platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels. team-ios Owned by iOS platform team labels Apr 6, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request enhances the iOS code signing process by extracting and displaying the development team name in addition to the team ID when listing available signing identities. It introduces a new regular expression to parse the organization field from certificates and refactors the identity selection logic to show this information. Feedback suggests improving performance by fetching certificate details in parallel using Future.wait and refining the output string interpolation to handle cases where the team name is absent without leaving trailing spaces.

Comment on lines +857 to +860
final teamInfoMap = <String, _CertificateTeamInfo?>{};
for (final identity in validCodeSigningIdentities) {
teamInfoMap[identity] = await _getCertificateTeamInfo(identity);
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Fetching certificate information sequentially in a loop can be slow because each call to _getCertificateTeamInfo executes external processes (security and openssl). Using Future.wait allows these requests to be processed in parallel, which can significantly reduce the time spent waiting for process execution when multiple signing identities are present.

    final Map<String, _CertificateTeamInfo?> teamInfoMap = Map<String, _CertificateTeamInfo?>.fromIterables(
      validCodeSigningIdentities,
      await Future.wait(validCodeSigningIdentities.map(_getCertificateTeamInfo)),
    );

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a good suggestion

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure about the tests, since they expect FakeCommands to be called in a particular order and the parallelization can introduce race conditions and flakey tests. What would be a good way to reliably test this?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah I see, that makes sense

Comment thread packages/flutter_tools/lib/src/ios/code_signing.dart

@hellohuanlin hellohuanlin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you update your PR description to contain a BEFORE & AFTER for future readers? (feel free to redact if needed)

@okorohelijah okorohelijah added the CICD Run CI/CD label Apr 15, 2026
@alex-medinsh alex-medinsh force-pushed the ios-signing-team-name branch from bd000ea to da6c5ff Compare April 16, 2026 06:57
@github-actions github-actions Bot removed the CICD Run CI/CD label Apr 16, 2026
@alex-medinsh alex-medinsh force-pushed the ios-signing-team-name branch from da6c5ff to e9a9f0e Compare April 21, 2026 08:46
@okorohelijah okorohelijah added the CICD Run CI/CD label Apr 23, 2026

@okorohelijah okorohelijah left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alex-medinsh Can you address Gemini comments

Comment on lines +857 to +860
final teamInfoMap = <String, _CertificateTeamInfo?>{};
for (final identity in validCodeSigningIdentities) {
teamInfoMap[identity] = await _getCertificateTeamInfo(identity);
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a good suggestion

@alex-medinsh alex-medinsh force-pushed the ios-signing-team-name branch from e9a9f0e to fe964f3 Compare April 23, 2026 13:03
@flutter-dashboard flutter-dashboard Bot removed the CICD Run CI/CD label Apr 23, 2026
@okorohelijah okorohelijah added the CICD Run CI/CD label May 7, 2026
Comment on lines +857 to +860
final teamInfoMap = <String, _CertificateTeamInfo?>{};
for (final identity in validCodeSigningIdentities) {
teamInfoMap[identity] = await _getCertificateTeamInfo(identity);
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah I see, that makes sense

@okorohelijah okorohelijah added autosubmit Merge PR when tree becomes green via auto submit App CICD Run CI/CD and removed CICD Run CI/CD labels May 7, 2026
@auto-submit

auto-submit Bot commented May 7, 2026

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/flutter/184665, because - The status or check suite Mac web_tool_tests has failed. Please fix the issues identified (or deflake) before re-applying this label.

@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label May 7, 2026
@alex-medinsh

Copy link
Copy Markdown
Contributor Author

Hi @okorohelijah! It look like there was a flaky test, can you please reapply the autosubmit label?

@github-actions github-actions Bot removed the CICD Run CI/CD label May 14, 2026
@okorohelijah okorohelijah added the CICD Run CI/CD label May 14, 2026
@okorohelijah

Copy link
Copy Markdown
Contributor

@alex-medinsh The failure seems to be an infra error which is currently being fixed.

/Volumes/Work/s/w/ir/x/t/flutter_ios_content_validation.GrhByG/hello/example/ios/Runner.xcodeproj: error: 
No signing certificate "iOS Development" found: No "iOS Development" signing certificate matching team ID
"S8QB4VV633" with a private key was found. (in target \'Runner\' from project \'Runner\')\n'

@okorohelijah okorohelijah added the autosubmit Merge PR when tree becomes green via auto submit App label May 15, 2026
@auto-submit auto-submit Bot added this pull request to the merge queue May 15, 2026
Merged via the queue into flutter:master with commit a76d1f0 May 16, 2026
161 of 162 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label May 16, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request May 18, 2026
flutter/flutter@1ceffd1...3598686

2026-05-17 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from G9xv1qcMhvXOy-9pk... to 5Ki-dBY4SpWdQMF_3... (flutter/flutter#186636)
2026-05-17 bdero@google.com [Impeller] Canonicalize uniform block instance names for the GL backends (flutter/flutter#186394)
2026-05-16 srawlins@google.com [widgets] Use super parameters in missed spots (flutter/flutter#186198)
2026-05-16 120367427+master-wayne7@users.noreply.github.com refactor: Remove material imports from Widget tests  (flutter/flutter#185078)
2026-05-16 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#186602)
2026-05-16 chris@bracken.jp [gn] Fix typo in comment (flutter/flutter#186549)
2026-05-16 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from y6uQHA5xUN83IF395... to G9xv1qcMhvXOy-9pk... (flutter/flutter#186599)
2026-05-15 30870216+gaaclarke@users.noreply.github.com Removes bringup from passing macos/sdf tests (flutter/flutter#186527)
2026-05-15 mdebbar@google.com [web] Fix several WebParagraph bugs (flutter/flutter#186403)
2026-05-15 alex.medinsh@gmail.com Display the team ID and name when selecting a signing certificate (flutter/flutter#184665)
2026-05-15 chris@bracken.jp [iOS] Improve documentation on FlutterVSyncClient and FlutterDisplayLink (flutter/flutter#186456)
2026-05-15 jason-simmons@users.noreply.github.com Increase the run time of text field integration tests to 10 seconds (flutter/flutter#186475)
2026-05-15 155553833+MatejLNCD@users.noreply.github.com Fix web-server hot restart/reload not applying changes for entrypoints outside lib (flutter/flutter#183838)
2026-05-15 1063596+reidbaker@users.noreply.github.com Update dart_skills_lint dependency to e449787 and optimize skills validation test (flutter/flutter#186528)
2026-05-15 engine-flutter-autoroll@skia.org Roll Packages from 2ec2236 to 32c84d6 (3 revisions) (flutter/flutter#186583)
2026-05-15 53112208+BilalRehman08@users.noreply.github.com Dispose TextEditingController in IndexedStack example (flutter/flutter#186375)
2026-05-15 34465683+rkishan516@users.noreply.github.com refactor: update filename for sliver semantic widget (flutter/flutter#185917)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC bmparr@google.com,stuartmorgan@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
creatorpiyush pushed a commit to creatorpiyush/packages that referenced this pull request Jun 10, 2026
…r#11724)

flutter/flutter@1ceffd1...3598686

2026-05-17 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from G9xv1qcMhvXOy-9pk... to 5Ki-dBY4SpWdQMF_3... (flutter/flutter#186636)
2026-05-17 bdero@google.com [Impeller] Canonicalize uniform block instance names for the GL backends (flutter/flutter#186394)
2026-05-16 srawlins@google.com [widgets] Use super parameters in missed spots (flutter/flutter#186198)
2026-05-16 120367427+master-wayne7@users.noreply.github.com refactor: Remove material imports from Widget tests  (flutter/flutter#185078)
2026-05-16 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#186602)
2026-05-16 chris@bracken.jp [gn] Fix typo in comment (flutter/flutter#186549)
2026-05-16 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from y6uQHA5xUN83IF395... to G9xv1qcMhvXOy-9pk... (flutter/flutter#186599)
2026-05-15 30870216+gaaclarke@users.noreply.github.com Removes bringup from passing macos/sdf tests (flutter/flutter#186527)
2026-05-15 mdebbar@google.com [web] Fix several WebParagraph bugs (flutter/flutter#186403)
2026-05-15 alex.medinsh@gmail.com Display the team ID and name when selecting a signing certificate (flutter/flutter#184665)
2026-05-15 chris@bracken.jp [iOS] Improve documentation on FlutterVSyncClient and FlutterDisplayLink (flutter/flutter#186456)
2026-05-15 jason-simmons@users.noreply.github.com Increase the run time of text field integration tests to 10 seconds (flutter/flutter#186475)
2026-05-15 155553833+MatejLNCD@users.noreply.github.com Fix web-server hot restart/reload not applying changes for entrypoints outside lib (flutter/flutter#183838)
2026-05-15 1063596+reidbaker@users.noreply.github.com Update dart_skills_lint dependency to e449787 and optimize skills validation test (flutter/flutter#186528)
2026-05-15 engine-flutter-autoroll@skia.org Roll Packages from 2ec2236 to 32c84d6 (3 revisions) (flutter/flutter#186583)
2026-05-15 53112208+BilalRehman08@users.noreply.github.com Dispose TextEditingController in IndexedStack example (flutter/flutter#186375)
2026-05-15 34465683+rkishan516@users.noreply.github.com refactor: update filename for sliver semantic widget (flutter/flutter#185917)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC bmparr@google.com,stuartmorgan@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD platform-ios iOS applications specifically team-ios Owned by iOS platform team tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Proposal: Display the team ID and name when selecting a signing certificate

3 participants