You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Custom configuration names rejected in settings.configs and scheme definitions #1621
When a project defines custom build configuration names (anything other than Debug or Release), XcodeGen rejects those names in two places:
settings.configs keys in target definitions
run.config, test.config, archive.config, profile.config values in scheme definitions
The validator appears to check against a hardcoded list of known configuration names rather than against the configurations actually defined in the project spec.
Spec validations errors:
- Build setting has invalid build configuration "Enterprise"
- Scheme "Enterprise" has invalid build configuration "Enterprise"
Expected Behaviour
Enterprise and AppStore are defined in the configurations: section of the spec. The validator should accept any configuration name declared there, not just Debug and Release.
Actual Behaviour
Any configuration name other than Debug or Release is rejected in settings.configs and scheme config fields, even when explicitly defined in the project spec.
Workaround
For build settings, there is a partial workaround using conditional key syntax in settings.base:
There is no equivalent workaround for scheme definitions. Schemes that reference custom configuration names cannot be expressed in project.yml at all, requiring scheme files to be managed outside the spec.
This appears to have been present since at least v2.15.0 and has never been reported.
Impact
Projects that follow the common iOS pattern of having more than two build configurations (e.g. Debug, Enterprise, AppStore, DeveloperID) cannot define schemes in project.yml. This makes full XcodeGen adoption impractical for these projects without workarounds.
Activity