How do I configure ProJucer to add a framework to XCode 'Embedded Binaries' list?

I’m trying to integrate Paddle copy protection SDK (https://www.paddle.com/)

This requires embedding their SDK framework into the application bundle. I’ve got this building correctly using ProJucer, the generated XCode project is finding and linking to the framework correctly. However the application doesn’t run unless the framework is also copied into the application bundle by adding it to the ‘Embedded Binaries’ list in XCode, and I can’t find a way to configure ProJucer to do this (currently doing it manually). Is this possible?

1 Like

Hi impsnldavid,

Is it possible to do this as a post build script? I realise this isn’t ideal and we’re currently thinking about better ways of handling Projucer-IDE interactions.

t0m, in rethinking Projucer-IDE interactions please consider moving to xcconfig/vsprops files for much of the project configuration. This would make developer customization much easier and has been suggested many times, including here:

I’ll investigate using a script.

My 2 cents on the Projucer system: I’m trying to setup a large multi-project build which consists of multiple non-JUCE shared libaries, JUCE-based shared libraries, a lot of third party dependencies and a central JUCE application, building for both OS X and Windows. I’m currently using a combination of CMake and Projucer, but it’s not exactly ‘one-click’ easy to get everything setup, and the result doesn’t automatically produce a VS or Xcode project with all the projects in.

What I’d like to do is script the Projucer from CMake to produce all the code and binary resources I need based on the .jucer file, and then construct all the actual projects myself in CMake. Is this possible right now?

1 Like

Any luck on this? I really need to figure out how to add things to “Embedded Binaries” from the projucer!!

I also ran into this recently. I’m deploying to iOS. My post-builds script does re-signing of the embedded binaries and the app as a whole. This worked fine for development and AdHoc signed builds, but I was unable to get itunes connect to verify the binary when doing a Store Distribution build - and I spent quite some time trying!

It would be really awesome if this could be added to the Projucer, perhaps as a new checkbox “Xcode Embbeded Binary” similar to “Xcode Resource”.

As of now I need to modify the generated Xcode project to get it to validate against itunes connect.

Thanks & Best,
Ben

This functionality is already available on the develop branch, and I’ve just made it a little easier to use:

The “Embedded Frameworks” field will embed the specified frameworks into the app bundle.

1 Like

I tried it and that is a convenient feature. However I have an issue here. It compiles but when running it doesn’t find the framework (image not found). In order to fix it I have to remove it from the Embedded Binaries and put it back.

Are you building for iOS or MacOS?

When the app fails at runtime is the framework actually in the app bundle?

Is the rpath correct?

Can you provide a way for us to reproduce the problem?

I am building for MacOS.
Yes the framework is in the app bundle, in the Frameworks folder.
The rpath is @executable_path/Frameworks, and I just noticed the issue is fixable by adding @executable_path/…/Frameworks

In the Projucer I have set the Framework Search Path to $(PROJECT_DIR), and the Embedded Frameworks to xLib.framework.
I have put the framework file in Builds/MacOSX.

Are you using a Projucer compiled from the latest develop branch? I think this would fix things as we’ve added @executable_path/…/Frameworks to the rpath.