Xcode 14.2 refusing to build VST3 in release

HI, I’m getting an ‘PhaseScriptExecution failed with nonzero exit code’ error when I try to compile the VST3 version of my plug-in in release.

This happens only in RELEASE and I’m using Juce 7.0.8 and Xcode 14.2

I’ve check the differences in settings between the AU, AAX, and VST versions, and they are all the same.
As you can see from this screen shot, it’s saying a sealed resource is missing or invalid.
Looking online reveals it’s to do with the signature, but all the signing stuff is the same on all platforms and there’s not any dodgy characters in the resources. I’ve tried rebooting, and cleaning.

I’m not a seasoned Mac developer, so I have no idea what’s happening here, has anybody seen this recently, and can anybody help?

Dave H.

At this point in the build, we sign the bundle, and then immediately load it using the juce_vst3_helper tool in order to write the plugin manifest file. It sounds like it’s this loading step that is failing.

You could try disabling the manifest (instructions here) and then loading the plugin in another host in order to find out what’s going wrong.

1 Like

Brilliant, thanks for the help, I’ll look at it tomorrow, as it’s 11pm, and I want a break.
That manifest file is the only difference in the plug formats, and I was very suspicious of it, but it worked in DEBUG.

That seemed to work fine thanks again. So does that mean that Juce 7.08 and the Projucer is not compatible with the latest Xcode?
I guess I don’t understand why the ‘manifest’ is there for VST3s.

No, this combination should work fine. If the plugin loads correctly in normal DAWs when the manifest is disabled, then that might indicate that something is wrong with the juce_vst3_manifest build. In the past, we saw similar issues when the hardened runtime and/or sandboxing were enabled in the Projucer. Perhaps this problem is related, although I’d expect to see the same failure in both Release and Debug in that case.

Without being able to reproduce the issue, it will be difficult for us to diagnose exactly what the problem is. Are you able to share your .jucer file with us by direct message, so that we can try setting up a project with the same options?

It might also be helpful to know your OS version and build machine architecture (Intel/Arm).

Are you using Xcode 14.2 to reproduce it? It seems very specific to the new Xcode.

I’m pretty sure I’ve used 14.0 for a released Plug-in, using the same Jucer file. But now after being forced by Apple to upgrade to 14.2, when I went to run it again the same project stopped working in 14.2
Intel iMac 2017 with Ventura 13.4
Apple’s public version of Xcode 14.2.
Juce 7.0.8 and a freshly built Projucer.
I’m building for Intel and Arm

I’ll send you a copy of my Jucer file tomorrow, without my Apple creds, obviously (:grinning:) !
It’s interesting what you said about the hardened run-time, as it’s the only diff between Debug and Release.

Having communicated further, it looks like the problem is similar to one previously discussed here:

In short, try omitting --options runtime from OTHER_CODE_SIGN_FLAGS, and enabling the hardened runtime using the dedicated option in the Projucer if necessary.

1 Like

Excellent that makes sense and it works, compiling on the latest XCode again.
Thanks reuk!

1 Like