I've got a situation where changes made to the source code of an iOS XCode project are not being applied to the build application.
BUT source code changes are being picked up on, but the result of that is not being applied to the resulting application package. Let me try to explain further - suppose I build and install my app, then I make a very obvious change (such as a logging statement, a dialog appearing, or even a deliberate exception) then rebuild and re-install the app, then when the application is run these changes are not present. Consider this relevant points: 1) If I add a deliberate syntax error into the source code then the build fails at the error line - this proves Jenkins is picking up the changes to the source code and compiling it. 2) If I build the application from within Xcode rather than Jenkins and install it then changes do appear. I tried to reproduce this by creating a new application from the Xcode templates project but was unable to, however it was not a full reproduction because that was just a project whereas my app is a workspace containing a library and a project. I've been investigating this non-stop for 8 hours and am convinced that Jenkins, or probably I suspect the Jenkins XCode plugin must be using an old cached version of a build. I suspect the fact that the workspace contains a static library has some relevance to this - I have noticed that XCode itself does not detect source code changes to a library unless the project is first cleaned before building. But as my point 1) above shows, source changes are being picked up by Jenkins. Something which adds to the mystery is if I delete the contents of the directly where the build output is placed, then rebuild, then the timestamps of app created by the build is current, its just that the changes aren't present when the app is installed. Has anybody used the XCode plugin and has experienced something similar?