6

I am trying to create a static umbrella framework which holds various 3rd party sub frameworks. So i've followed this tutorial below:

How to create an umbrella framework in iOS SDK?

Unfortunately when adding the static umbrella framework into another project I get various "undefined symbol" errors from the sub-frameworks.

When I link the sub frameworks again in the "link binary with libraries" like the image below it does work. But how can I prevent this to be needed? I would like an external developer only to add my Umbrella framework to his project.

link binary with libraries image

Community
  • 1
  • 1
martijn
  • 131
  • 1
  • 4
  • 1
    I think you will always need to add the sub frameworks in the "link binary with libraries" section when adding a new framework. – MSU_Bulldog Nov 23 '15 at 14:21
  • 1
    hmm maybe i don't understand, isn't that the whole idea behind an umbrella framework that a subframework is only used by the parent framework and an external project cannot directly link to it? – martijn Nov 24 '15 at 08:57
  • 2
    @martijn, have you solved this? I am suffering from the same issue. – Brian Dec 20 '16 at 01:46

1 Answers1

0

The only way to make an "umbrella framework" is to use all the sub-frameworks as static libraries in your framework. That way, these sub-frameworks will become part of your own framework and external developers won't need to embed any sub-frameworks.

bansal98
  • 11
  • 3
  • 1
    Note that this is very dangerous if the consumer of the your framework uses any of the same sub-frameworks. See https://stackoverflow.com/questions/7365578/why-are-umbrella-frameworks-discouraged for more. – Rob Napier Jul 30 '18 at 13:30