Logic Pro loads AUv3 when compiled in Swift 5 but not Swift 6

I have spent a long time refactoring lots of older Swift code to compile without error in Swift 6.

The app is a v3 audio unit host and audio unit.

Having installed Sonoma and XCode 16 I compile the code using Swift 6 and it compiles and runs without any warnings or errors.

My host will load my AU no problem.

LOGIC PRO is still the ONLY audio unit host that will load native Mac V3 audio units and so I like to test my code using Logic.

In Sonoma with XCode 16...

  • My AU passes the most stringent AUVAL tests both in terminal and Logic pro.

  • If I compile the AU source in Swift 5 Logic will see the AU, load it and run it without problems.

But when I compile the AU in Swift 6 Logic sees the AU, will scan it and verify it passes the tests but will not load the AU. In XCode I see a log message that a "helper application failed to run" but the debugger never connects to the AU and I don't think Logic even gets as far as instantiating the AU.

So... what is causing this? I'm stumped.. Developing AUv3 is a brain-aching maze of undocumented hurdles and I'm hoping someone might have found a solution for this one. Meanwhile I guess my only option is to continue using the Swift 5 compiler.

(appending a little note just to mention that all the DSP code is written in C/C++, Swift is used mainly for the user interface and also does some offline thready work )

Hello @ParanoidAndroid, thank you for your post. Do you get the same results with just the relevant code in a small test project? If so, please share a link to your test project. That'll help us better understand what's going on. If you're not familiar with preparing a test project, take a look at Creating a test project.

Logic Pro loads AUv3 when compiled in Swift 5 but not Swift 6
 
 
Q