Bear with me, this sounds like an FAQ but my specific situation is a little less frequent.
I am working on an architecture in which I have the same "front-end" (entrypoint Storyboard, `AppDelegate`, top-level `ViewController`, Launch Storyboard, Info.plist, sound & image resources) for multiple apps. That is, I "append" the app-specific code to the common front-end.
So the question is: how best to manage independent development of the front-end and the multiple back-ends. Including SCM. Some ideas:
- Libraries, static or dynamic - a non-starter because the common code-base includes Storyboards and assets.
- Completely separate projects, with the individualized apps including (by reference) the common code.
- Single project, separate targets.
- Separate sub-projects in a single Xcode Project.
- Separate projects inside a single Xcode Workspace.
One criterion would be how well Xcode and Git[Hub] deal with the separation of code bases. I have had mixed results with Xcode getting out of sync with git. Advice welcome. I've been cut&pasting the common code into separate projects, but you can easily see how this is not sustainable.
Addendum: I have read the ongoing discussion about Apple Guideline 4.3 (https://forums.developer.apple.com/thread/85411); it does have some relevance.