E.g. I have set and environment with the EnvInject plugin, so I have Environment=Stage, then in the XCode "Configuration" item I have specified, ${Environment} - the build seems to work, choosing the correct configuration and creating the build dir, but when it comes to delete all the *.ipa files (is this before the archiving?) it fails with an error:
Cannot remove *.ipa files from a non-existing directory: /Users/Shared/Jenkins/Home/jobs/HotelSearch_iPhone_stage/workspace/build/${Environment}-iphoneos
Packaging IPA
FATAL: null
java.lang.NullPointerException
at au.com.rayh.XCodeBuilder.perform(XCodeBuilder.java:421)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804)
at hudson.model.Build$BuildExecution.build(Build.java:199)
at hudson.model.Build$BuildExecution.doRun(Build.java:160)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:586)
at hudson.model.Run.execute(Run.java:1575)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:241)
Which makes it look to me like the ${Environment} has just not been expanded for this task.