Getting the AUv3SynthPluginDemo to build and run on iOS

Can any confirm it working? I can’t get it working for iOS.

JUCE 6.1.6
macOS 12.2.1
Xcode 13.2.1

I’ve started with Projucer.
Opened the Plugin example AUv3SynthPluginDemo
Clicked on Xcode (iOS) in Exporters and filled in Exporter Bundle Indentifier and Development Team ID
Selected exporter Xcode (iOS) and clicked on Save and Open in IDE

Xcode opens with the project
I select the Scheme “AUv3SynthPlugin - All” and try to build
I get “Build finished with errors” and, curiously, no way to expand the error and see and details as is typical.

I’ve tried targeting both a simulator (14.5 & 15.2) and a physical iPad Air (15.3.1) but same result.

(Building and running non-JUCE apps works fine btw)

1 Like

Is there anything displayed in the build log?

That’s the curious thing. It doesn’t tell me what’s wrong
Only the successful lines can expand to show the build log

Ahh the export might reveal more. I’ll do that now.

Seeing errors in the sidebar that don’t expand is fairly common, but this one is new.

Can you build the project from the command line using xcodebuild? Maybe that’ll be a bit more verbose.

Gotta love Xcode and it’s awful error reporting…
so a simple xcodebuild build in the project dir gives the following:

error: Build input file cannot be found: '/Users/james/work/temp/ausyn/AUv3SynthPlugin/Source/Main.cpp' (in target 'AUv3SynthPlugin - Shared Code' from project 'AUv3SynthPlugin')

warning: ONLY_ACTIVE_ARCH=YES requested with multiple ARCHS and no active architecture could be computed; building for all applicable architectures (in target 'AUv3SynthPlugin - AUv3 AppExtension' from project 'AUv3SynthPlugin')

warning: ONLY_ACTIVE_ARCH=YES requested with multiple ARCHS and no active architecture could be computed; building for all applicable architectures (in target 'AUv3SynthPlugin - Standalone Plugin' from project 'AUv3SynthPlugin')

warning: ONLY_ACTIVE_ARCH=YES requested with multiple ARCHS and no active architecture could be computed; building for all applicable architectures (in target 'AUv3SynthPlugin - All' from project 'AUv3SynthPlugin')

** BUILD SUCCEEDED **

Love the fact it does report an error but then claims success.
So I look over at the project tree, open it and see that some files it expects are actually missing and Xcode just didn’t want to tell us properly!
I assume Projucer should have copied these

Source/Main.cpp
Source/AUv3SynthPluginDemo.h
Assets/DemoUtilities.h

Next I created a Sources directory in the project directory and copied the two headers from JUCE sources. I couldn’t find which Main.cpp should have been copied so I just made one with the following:

#include "AUv3SynthPluginDemo.h"

//==============================================================================
// This creates new instances of the plugin..
juce::AudioProcessor* JUCE_CALLTYPE createPluginFilter()
{
    return new AUv3SynthProcessor();
}

This does finally build and install on the iPad!
Am I correct in assuming this is something that needs to be fixed in Projucer or the example itself?

I’m struggling to reproduce this.

Opened the Plugin example AUv3SynthPluginDemo

File → Open Example → …

Or a different method?

I just repeated my steps exactly as I described and this time it created a buildable project.
I swear on my children’s playstation that I didn’t do anything funky like mess with the generated files or whatever when I did this twice before! And I don’t have any weird software running that might interfere, like anti-virus or whatever.

I was genuinely just trying to build an example precisely to learn the details and not just create more noise in the forum. I also always try to make sure I’ve documented any steps properly to reproduce an issue or provide a buildable repo.

I’m dying :see_no_evil: . Thanks for your help and the tip about exporting the build log.