The decimal version number in Info-AU.plist (under AudioComponents) needs to be updated as part of the build process. It should be consistent with the other places where the version number is used.
I did this with a script build phase, early in the build:
As we are at it, I’d strongly suggest to make the version a variable throughout the Projucer-generated projects and templates, so it can be easily increased without the need to run Projucer from scratch (and nuke weeks of hard work).
BTW Running the Projucer on a build server makes it really useful for controlling version numbers. You can do things like this in a shell script and run the Projucer as a command line app:
Get the version: path/to/Projucer --get-version path/to/Project.jucer
Set the version: path/to/Projucer --set-version 1.2.3 path/to/Project.jucer
Resave the project (IDE files and JuceLibraryCode etc) path/to/Projucer --resave path/to/Project.jucer
It would eliminate all changes made to the project since it was initiated with Projucer. Not all projects work with the Projucer-always-in-control workflow. I have multiple projects of different origins to keep in sync. This only works with shared code that, among other things, also includes version numbers.
This would be much cleaner, because in the protected user-defined code section of AppConfig.h (great to have!), the developer can add external includes or other logic that provide version numbers, names, channel configs, etc. This would be a proper way of maintaining versions w/o rebuilding the Projucer project from scratch.