yonaskolb / yonaskolb/XcodeGen
Base settings erroneously added when only setting for configs
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 8.8k
- Forks
- 908
- Avg merge
- 17d 14h
- Merged PRs (30d)
- 2
Description
I have a spec that sets CODE_SIGN_IDENTITY separately for a few configs, and does not set it at the base level.
We previously had a compiled version of xcodegen checked into our repository, which was version 2.7.0. The project generated successfully with this version with the expected settings:

I just upgraded our repo to use homebrew to manage installing xcodegen, and removed that compiled version we had checked in. Now, with version 2.18.0, we get a bogus base value set for this setting, which breaks our deploys at the code sign step:

I've verified this by feeding the same spec into both versions. You can see where the new unexpected settings are added at the target level. I expect this setting only to be set at the project level, and only for the configurations, not at the base level.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the reported spec with XcodeGen 2.18.0 and compare its generated project settings with version 2.7.0. Trace how configuration-specific CODE_SIGN_IDENTITY values become target-level base settings; done means the generated project contains only the requested configuration-specific values and deploy signing is no longer broken.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- build-system, cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100