I’ve just spent the last 2 hours trying to upload an updated iOS app to Apple. Using Xcode Organiser, I’d get the message “An error occurred uploading to the itunes store” then it’d show me “Validation failed”. I successfully submitted an update for the same app a few days ago but had to reject the binary, so this was a little strange.
After failing numerous times and trying a few things, I went to Organiser, right clicked my archive and selected “Show in finder”, then right-clicked the xcarchive file and selected "Show Package Contents", compressed the .app file and uploaded it with the Application Loader (/Developer/Applications/Utilities/Application Loader.app). The first time it failed and I got the message that the validation failed due to “The app references non public selectors: multitaskingSupported”. That was easy to fix by just updating to the latest version of Appirator, however after that I was still getting a very generic error message about it failing.
The only thing I’ve changed with my system since I last submitted the app is that I installed some OS X updates, one of which was “Java for Mac OS X Lion 2012-001”. I know the app submission software uses Java, as I’ve seen it ask me for permission for something about allowing Java to accept remote connections while uploading an app. I remembered that I hadn’t rebooted since I installed the update, so I tried that, but still no luck.
In the end, I got fed up of wasting a so much time trying to work it out, so I pushed my changes to my git repository on my desktop machine (OS X 10.7), pulled them on my laptop (OS X 10.6) and it submitted first time directly from Organiser. I can see update “Java for Mac OS X 10.7 Update 7” waiting to be installed on that, which I’m slightly hesitant to install now.
I’m kind of frustrated I don’t have an answer to the problem and will look into it a bit more when I have more time, but using a different machine to submit it is a good option if you’re up against it.
It seems this was an issue with Java. I have since installed another Java update, rebooted and that fixed the issue.