Safely editing the contents of a plugin's 'Info.plist'?

I have a JUCE application that programmatically creates plugins based on copied and edited versions of a boilerplate plugin package. Part of this entails making changed to the plugin’s ‘Info.plist’ file on MacOS. Parsing and saving the file with JUCE’s XML classes appears to work fine when viewing the file in a text editor. However, both the JUCE plugin host and various commercial DAWs refuse to recognize the plugin after the Info.plist file has been edited in this way. I’ve also tried simply parsing and saving the file’s contents without changing any properties and the problem still shows up, so I think the issue is with the file saving/encoding process. The problem persists with JUCE XML classes (saving to a FileOutputStream with the XmlElement::writeTo function) as well as with pugixml. Does anyone know how to safely save the contents of a .plist file in a way that MacOS will accept? Any insight or advice appreciated!

This could be related to code-signing. Modifying the plist may invalidate the plug-in’s signature.

You could try manually re-signing one of your plug-ins after modifying the plist, and check whether the plug-in can then be loaded. I expect that something like this should be sufficient (run from a terminal window):

codesign -s - /path/to/plugin
1 Like