Projucer: separate AUv3 for iOS from Mac OS

In the plugin format list I have selected AUv3 because I need it for iOS but I don’t want to include an AUv3 of the plugin for Mac OS. Unfortunately, the selection affects both the iOS and the Mac OS exporters. What’s the solution? Should I have two separate copies of the projucer file?
How do I exclude the AUv3 plugin for Mac OS?

Also, I’ve noticed that Logic/Mainstage gives priority to the AUv3 even if the .component file is installed in the library, this leads to confusion because apparently the AUv3 runs sandboxed and doesn’t share files with other formats (AU, VST3, VST).

Yet another Apple headache…

Another reason for auv3 on iOS only is if you want to target pre-10.11 on macOS.

Also, at least in my case, I simply pack the auv2 component in the installer rather than both.

Anyway, I think you’ll be able to manage this with Cmake. But that means transition from projucer.

Maybe my original post wasn’t clear enough…

What I want is:

  • Standalone + AU (v2) for macOS
  • Standalone + AUv3 for iOS

So I select both AU and AUv3 as plugin formats.

I have two Xcode exporters, macOS and iOS, and in both cases the Xcode adds the AUv3 .appex, which I only want for the iOS exporter, not for the macOS exporter.

How do I tell the Projucer to not create the AUv3 appex for macOS?

I can’t believe nobody else experience this same issue.
If a Projucer plugin project has both the AU and AUv3 formats, and both exporters for iOS and macOS, the AUv3 app extension is also added to the macOS exporter.

What’s worse is that it actually works, if you install both the Standalone (that contains the extension) and the AU plugin into the Library, a host like MainStage or Logic doesn’t “see” the AU from the Library, but only “sees” the AUv3.

This is a hell of issue, and the only workaround I have found is to create a copy of the Projucer file, untick the AUv3 and remove the iOS exporter. This forces me to have two separate projects.

1 Like

Yes, I’ve also experienced this.
My solution was similar - in CMake I create a totally separate plugin for the AUv3 - different plugin code and all, so it has it’s own standalone that’s not related to the standalone of the main project.

The hard part if using the Projucer is keeping both projects in sync when you make changes, but fortunately this isn’t an issue for me.

1 Like

I have the same situation, but for me, iOS has a completely different build process. I do not mix that with the desktop build. I also do not release at the same time. Edit: But using the same code.

To get some flexibility, I recommend using the juce CMake build process. I have one CMakeLists.txt file for iOS (AUv3 and Standalone) and another for the desktop build (VST, VST3, AAX, AUv2).
The iOS CMake only creates the XCode project for iOS like projucer does. I didn’t automate this, because I need to run it in XCode anyway for simulation and for tests.

The desktop CMake file can build the whole product. I load this in CLion and develop the plugins there. CMake files work on every platform (Linux, Windows, macOS).