Debug build not recognised after upgrading to xcode 12 + Juce 6

Today I upgraded to xcode 12.2 (on Catalina), and Juce 6.0.4 (from Juce 5.4.7).

After upgrading I successfully compiled both a debug and a release build of one of my plugins. In my initial test the release build worked fine - it passes all tests in pluginval and works in Reaper.

However the debug build is not recognised by Reaper or other DAWs I’ve tested in. When I scan for new plugins it is not found.

Any ideas?

EDIT: I should have mentioned that I use xcodebuild to build my plugin from the command line without ever opening Xcode. If I perform a debug build from the actual Xcode app then Reaper recognises the plugin. So I guess something about the way I’m using xcodebuild no longer works the same way. I’ll keep digging, but in case anyone can spot the problem, here is my xcodebuild command:

xcodebuild -project /path/to/my.xcodeproj -alltargets -configuration Debug SYMROOT=~/Library/Developer/Xcode/DerivedData

So I have resolved this one by telling xcode to build for both Apple intel and Silicon architectures:

xcodebuild -project /path/to/my.xcodeproj -configuration Debug SYMROOT=~/Library/Developer/Xcode/DerivedData -arch x86_64 -arch arm64 ONLY_ACTIVE_ARCH=NO

The changes are:

-arch x86_64 -arch arm64 (sets the build architecture)
ONLY_ACTIVE_ARCH=NO (enforces the build architecture)

I’m perplexed as to why it doesn’t work unless I specify the architecture, since I would expect it to default to the architecture of my machine, which ought to be fine? But in any case the whole purpose of the upgrade was so that I can build Intel/Silicon universal binaries, so all’s well that ends well!


OK, I have a definitive answer to this one. If I don’t specify any architecture at all, the Debug configuration is building as arm64. I’m on an Intel mac, which explains why my plugin isn’t recognised.

1 Like