I wish there was better documentation for this for Xcode 5 but I couldn\'t find anything decent describing best practices for working with workspaces, so..
In a workspac
Just in case somebody else is having problems with this in Xcode 7: Make sure the project you want to add as subproject it's not open, before you add it or drop it.
You could create a scheme that builds all targets.
This is derived from Tomte's answer. His approach was causing me a Dependency Analysis Error. This is a more straight forward approach and explains why Tomte's answer works:
Note that when using Tomte's approach, when the project is added to Link Binary With Libraries, a project reference is created. This project reference can be found in the Frameworks group of the project.
I'm conflicted as to whether this is a good approach or not. The scheme approach is not much better, in my opinion. I'm actually wondering why workspace project's don't have this relationship by default.
At the very least, this should clear up the magic in Tomte's solution.
Consider migrating to CocoaPods.
Not only it will fix your build problems, but with a project as complex as you describe it will ease your life when updating/adding/removing frameworks, changing target system version and resolving dependencies and conflicts.
Also your workspace will likely become only two projects.
This solution was intended for another problem, but maybe it fills your needs.
After adding your subproject to the workspace:
Now you are using the chosen library for your target. Repeat those steps for every target which needs this subproject. Hope that helps! For me it did because i could not manage to add dependencies to it before...
Greetz, Tomte
In Xcode 5 you have to:
If it works, when building all target dependencies will be build together if needed.