"Phantom" Bundle Versions with Jenkins
If your using Jenkins' ability to automatically set the bundle version on each build with Xcode (and you should be), you may occasionally see the product published has an old or inconsistent version in the
If you run across this, it's because the name of the build product changed or something else caused there to an old build product left over in the build output folder.
A simple way to prevent this is to check the "clean before build" Xcode build setting the job configuration. A more brute force and manual approach is to tell Jenkins to delete the workspace and start with a clean slate on the next build.
Remember to keep your build process simple. It's OK to do a lot with a build, but keep the process of doing it decomposed into simple, easy to understand steps.
You want 100% confidence in the build that it's perfectly repeatable and not mysterious. Factor out complexity, don't use automation as a crutch to increase it.