yonaskolb / yonaskolb/XcodeGen

Generating different schemes for 1 target

Open
#1,054 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Swift
Stars
8.8k
Forks
908
Avg merge
17d 14h
Merged PRs (30d)
2

Description

Hey guys. I'm trying to implement configuration which will allow me to generate multiple schemes per one target. What i need is to create few schemes that each has different test targets linked as well as different configurations applied but actual target should stay the same.

I have tried configVariants but it only allows to create multiple schemes with different configurations, but the list of test targets stays the same for each created scheme. That option doesn't allow to solve my case.

I have also tried to use Scheme Template but it only allows to create 1 scheme per 1 target. Any attempts to pass not existent target name to schemes: failed. XcodeGen requires each entry in schemes: to be equal to existent target name. So when i try to pass the same target it simply rewrites last setup and creates only 1 scheme. So my case where i need a few schemes for one target can't also be satisfied with that mechanism.

Help me please, all i want can easily be imlemented in XCode by tapping Manage schemes, selecting my main app's target scheme and tapping Duplicate. Then i can configure scheme how i desire, but i can't seem to find solution for my problem in the current XcodeGen specification....

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading XcodeGen's scheme-template and configVariants handling, since the issue identifies both as related entry points. Determine how scheme names are keyed and how test targets and configurations are assigned. Done means the specification can generate multiple distinct schemes for one target, each with its own test targets and configuration, without overwriting another scheme.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
build-system, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.