Skip to content

build(ios): stop the archive asking for a development certificate - #536

Merged
whes1015 merged 1 commit into
mainfrom
build/ios-archive-signing
Aug 18, 2026
Merged

build(ios): stop the archive asking for a development certificate#536
whes1015 merged 1 commit into
mainfrom
build/ios-archive-signing

Conversation

@whes1015

Copy link
Copy Markdown
Member

Platform: ios

The project-level Release configuration pinned
CODE_SIGN_IDENTITY[sdk=iphoneos*] = "iPhone Developer", a Flutter template default under its pre-2021 name. The release workflow archives with -configuration Release -allowProvisioningUpdates, so every archive asked App Store Connect for an iOS App Development certificate and, finding none it could reuse, minted a new one.

Ten of them accumulated — all "Created via API", all from the same key, the newest two dated the last two days — until the account hit its certificate limit and the archive failed with "Choose a certificate to revoke", followed by "No profiles for 'com.exptech.dpip.dpip' were found". The second error is the one people chase; the first is the cause.

All three configurations are already CODE_SIGN_STYLE = Automatic, and the Runner target carries no identity of its own, so removing the line lets automatic signing pick a distribution identity for an archive — which is what an App Store build needed all along. Debug and Profile keep theirs: a local build is meant to be signed for development.

The reasoning is here rather than beside the setting because Xcode rewrites project.pbxproj and would not keep a comment in it.

這個 PR 做了什麼

相關 issue

  • closes #

怎麼驗

檢查清單

  • tool/check/commits.sh origin/main..HEAD 通過
    —— commit 訊息就是更新日誌,格式見 commit.md
  • 一個 commit 一件事(這條 gate 驗不了,靠自己和 review)
  • mise exec -- flutter analyzemise exec -- flutter test 通過
  • 新的使用者可見字串都走 AppLocalizations,沒有寫死
  • 有 UI 變更的話:用的是 AppSpacing / AppRadius / AppMotion
    深色模式看過,文字對比度可接受

Platform: ios

The project-level Release configuration pinned
`CODE_SIGN_IDENTITY[sdk=iphoneos*] = "iPhone Developer"`, a Flutter template
default under its pre-2021 name. The release workflow archives with
`-configuration Release -allowProvisioningUpdates`, so every archive asked
App Store Connect for an *iOS App Development* certificate and, finding none it
could reuse, minted a new one.

Ten of them accumulated — all "Created via API", all from the same key, the
newest two dated the last two days — until the account hit its certificate
limit and the archive failed with "Choose a certificate to revoke", followed by
"No profiles for 'com.exptech.dpip.dpip' were found". The second error is the
one people chase; the first is the cause.

All three configurations are already `CODE_SIGN_STYLE = Automatic`, and the
Runner target carries no identity of its own, so removing the line lets
automatic signing pick a distribution identity for an archive — which is what
an App Store build needed all along. Debug and Profile keep theirs: a local
build is meant to be signed for development.

The reasoning is here rather than beside the setting because Xcode rewrites
project.pbxproj and would not keep a comment in it.
@whes1015
whes1015 merged commit 9e99877 into main Aug 18, 2026
3 of 4 checks passed
@whes1015
whes1015 deleted the build/ios-archive-signing branch August 18, 2026 08:04
@github-actions

Copy link
Copy Markdown

OpenCodeReview: Review skipped: no items were selected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant