AUV3 extension for iOS - with JUCE in extension

Hi Juce devs (@ed95 ?!)

I’ve been meaning to mention this for a while, but just came back to me as we’re finishing-off Wotja 22.

Background: Wotja for iOS / macOS is build using a shared framework (call it myFramework).

We put all the Juce code in myFramework, and most of the app logic etc. as well.

We build the app (.app) for iOS/macOS and the AUv3 such that they both share myFramework. This greatly reduces the size of the binary distribution.

However. If you’re building an extension, you’re not allowed to access methods of UIApplication (extension unsafe API) and some other things.

Because in our case, JUCE is compiled into this extension, that has required us to patch JUCE.

See:
https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/ExtensionOverview.html

So, I’ve had to patch some of the JUCE code to use external functions / lambdas. The application or AUv3 then indirectly provide for the calls to say:

[UIApplication sharedApplication]

etc. etc.

Have you any plans to modify JUCE to reflect this?

Best wishes,

Pete

1 Like