NB: Here is a more abstract and simplified sub-set of this question.
With the addition of Touch Frameworks, Extensions and the Apple Watch Xcode 6 projects and workspaces are getting more and more complex.
If you add CocoaPods into this mix things start to get almost unmanageable.
How would I structure an Xcode project/Workspace with the following targets and dependancies? (Assumptions: I am using Git for all the components, I am using CocoaPods for all third party code, I am using Xcode 6).
- MyCoolApp
- Several 3rd Party UI libraries via CocoaPods
- MyCoolNetworking.framework, a framework (project) I created as a Git Sub-module
- AFNetworking via CocoaPods
- Other data processing code via CocoaPods
- MyCoolAppBusinessLogic.framework, used by app and all extensions (below)
- Includes some code from CocoaPods common to app and extensions
- MyCoolToadyView, a TodayView Extension target
- MyCoolWatch, an Apple Watch extension target
As you can see this is a complex structure including a couple of CocoaPods instances. Any advice on how to solve any or all of these issues will be helpful.
(My plan is to write up some of my own ideas and then synthesise an answer from everyone else, this will no doubt be a living document).