In my opinion, the simplest solution is to have one code base with several goals. Yes, you still have to resubmit each application when you change some code, but you still have to do this?
You can choose one of your applications for conversion to the main code base.
eg. Select the application one and duplicate the target several times:

After that, you will want to change your schema names:


You can set the package identifier and deployment information separately for each application in the same way as before, and the icon sets:

To distinguish your applications in code, you can use compiler flags (Target → Build settings - Other swift flags):

Then you can do something similar in your code:
#if APP_ONE
...
#else
...
#endif
Simon source
share