Umbrella framework

I was able to set up a working Umbrella Framework and wrote down my approach.

Step 5 should remove your linker error ld: framework not found ..

Setup:

  • A Swift based “client” project that has the Umbrella Framework as dependency

  • A dynamic Framework (mainly C++ and ObjC) that is a dependency of the Umbrella Framework

Steps:

  1. Link the Umbrella Framework with its dependent (sub-)Framework and make sure that it is copied into the product upon building.

Setting of Project -> Build Phases

2. Add the location of the dependent (sub-)framework to the Framework Search Paths of the Umbrella Framework project.

Setting of Project -> Build Settings

3. In the “client” project make sure to link and embed the Umbrella Framework

General Setting Client

4. Make sure the Umbrella Framework is copied into the (client-) app bundle to avoid dyld: Library not loaded: @rpath/... errors.
The (client-) app, usually under ...Build/Products/Debug-iphoneos/YOUR_CLIENT_APP.app should now contain your Umbrella Framework in a folder called Frameworks.

Project Setting Embed Framework

5. In the “client” project Make sure to add the path to the Umbrella Framework to Framework Search Paths.
If the ld: framework not found '[Framework_Name]' for
architecture ...
error persists you can also add the path to the (sub-) Framework here.

Project setting framework search path

Leave a Comment