[SOLVED] AUv3 target missing build steps compared to AUv3SynthPlugin_AUv3

Hi everyone,

I’m struggling to get the AUv3 version of my plugin to work, although I followed the instructions here:

I can’t get my plugin to show in auval.
I do launch the standalone containing the .appex.
I tried to manually sign both .app and .appex files but it doesn’t fix the problem.

I use juce from cmake, and I declared my plugin as follow:

juce_add_plugin(myplugin
    PLUGIN_MANUFACTURER_CODE Mete               # A four-character manufacturer id with at least one upper-case character
    PLUGIN_CODE Plug                            # A unique four-character plugin id with exactly one upper-case character
                                                # GarageBand 10.3 requires the first letter to be upper-case, and the remaining letters to be lower-case
    FORMATS AU AUv3 VST3 Standalone  
    PRODUCT_NAME "Audio Plugin Example")

I compared the build steps of my AUv3 target with the one in AUv3SynthPlugin and noticed some extra steps in the AUv3SynthPlugin_AUv3 build:

  • Process product packacking
  • Generate DER entitlements
  • Sign AUv3SynthPlugin.appex / AUv3SynthPlugin.app

I’ve been looking everywhere in the juce cmake files but I can’t find where these extra steps come from.
Can anyone tell me what I’m missing here ?

I managed to solve the issue.

The JUCE AUv3SynthPlugin_AUv3 example handles directly codesign within Xcode, but somehow I had to do it manually (as described in the topic I mention in my previous post).

But one thing which is missing is that you need to pass codesign a --entitlements argument with the path to the myplugin_AUv3.entitlements file (generated by JUCE). After signing the .app with this, I was able to see myplugin’s AUv3 in auvaltool and Garage Band.