Search code examples
iosobjective-cframeworkslibtool-xcode

Combine multiple .frameworks in one "umbrella"


I am currently working on an iOS project with external frameworks.

One of those frameworks contains of 5 .framework files.

Here is an exmaple:

core.framework

versionA.core.framework
versionA.resources.framework

versionB.core.framework
versionB.resources.framework

What I need is one framework e.g. umbrellaA.framework containing this

core.framework

versionA.core.framework
versionA.resources.framework

and one framework e.g. umbrellaB.framework containing versionB

core.framework

versionB.core.framework
versionB.resources.framework

Can I use libtool for this or what do I need to combine multiple .framework files into one ùmbrella`?


Solution

  • Could you use cocoapods and subspecs?

    Pod::Spec.new do |s|
        s.name         = "Umbrella"
        ...
    
        s.default_subspec = 'A'
    
        s.subspec 'A' do |ss|
            ss.frameworks        = '.......'
        end
    
        s.subspec 'B' do |ss|
            ss.frameworks        = '.......'
        end
    end
    

    If someone wants to use the Umbrella.A framework then they refer to it like this in their Podfile

    pod 'Umbrella/A'