Strip invalidates code signature?

HI, I’m getting this warning:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip:1:1 changes being made to the file will invalidate the code signature in: /Users/davidhoskins/QuikQuak_JUCE/CrowdChamber/Builds/MacOSX/build/Release/

This is only for the VST3 in both Arm and Intel.

Is there a way of stripping the plug-in, and code signing it in Xcode?
And I don’t understand why it’s only the VST3 and not the others, as they all have the same options.

The usual technique is to codesign manually afterwards running a command from Terminal.

I’m sure you can set this up to run from Xcode too but since stripping is something you’d normally do only for the release build, and you’ll probably want to do additional things as well (notarizing etc), you might as well do all of these things in a shell script that you run after the build.

I suspect this warning is harmless.

In newer versions of JUCE, buidling a VST3 in Xcode will actually do the following in order:

  • Build a minimal unsigned VST3 bundle with no supporting files
  • Sign the minimal VST3 using an ad-hoc certificate
  • Load the minimal VST3 in juce_vst3_helper to generate supporting files (Arm Macs require executable code, including plugins, to be signed in order to load them)
  • Sign the final VST3 bundle including supporting files

I haven’t checked, but it sounds like stripping is happening at some point after the ad-hoc signing, but before the second signing. You can use the codesign tool to verify that the final VST3 bundle has the signature you’d expect.

Stripping the ad-hoc signed plugin shouldn’t cause any problems, as long as the VST3 has a valid signature at the point where juce_vst3_helper runs.

1 Like

Thanks for the answer guys, I will check the VST3 signature with codesign.

Yeah, the sig. looks good, with Xcode code-signing it. I would rather not use the terminal for signing.

One day they’ll let us notarize in Xcode as well… you know, a useful addition. :grin:

Or one day you send the source code to apple and they build and notarise on their cloud… who knows.

Haha, oh no, then they’ll claim they own the code!