Assume I have two frameworks A and B, both required by framework C.
Framework C will be shipped so that third parties can use it in their applications (X). The problem is, that C just links with A and B and doesn't embed them, which is why X needs to link to A and B as well in order for C to work.
Is there any way to have C embed A and B so that X doesn't need to link to them?
An ideal solution to me would be that the developer of application X would only link against framework C, import the corresponding header and be done with it. Given that C handles A and B, the developer wouldn't need to know anything about A and B.
Yes; it's possible (at least with OSX Frameworks, so I assume with iOS Frameworks too).
Read the Apple Documentation about Umbrella Frameworks:
The Umbrella Framework Bundle
Physically, umbrella frameworks have a similar structure to standard frameworks. One significant difference is the addition of a
Frameworks
directory to contain the subframeworks that make up the umbrella framework.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With