Another of the great new features of Xcode is the concept of application archives. In the build menu of Xcode 3.2.3, you should see a new option called “Build and Archive”. When you build and archive an application, the application archive will show up in Organizer like you see in the image below:
Unfortunately we can’t label or rename the individual archived builds of each application, but I love the fact that I have a nice historical timeline of archived builds. Presumably you would use this feature to archive every time you’re going to try and submit something to the AppStore. These archives can be used to match up against crash logs so that you can track down bugs that are being experienced by your users “in the wild” that you might not necessarily be able to reproduce in your lab.
As you can see, there are 3 options available for each of the archived builds: Validate, Share, and Submit. Validate will run your application through a battery of tests and checks. These tests and checks are very similar (don’t know if it’s identical) to the checks and tests that are run by Apple engineers when your app is actually submitted to the AppStore. This is incredibly helpful in that it can alert you to some potential reasons for rejection immediately without you having to wait a week to find out why the app got rejected. Likewise, once you’ve validated your application you can submit it to iTunes connect right from here, you don’t need to use the application loader tool anymore.
BIG IMPORTANT NOTE <== REALLY. VERY IMPORTANT!
If you click on Validate or Submit without having first gone to iTunes connect and created a new application version and chosen the “upload binary later” option, then these buttons will do ABSOLUTELY NOTHING. These buttons only work when there is an application version defined in iTunes connect that is awaiting a binary!
That said, one of my favorite features of the application archives is that you can now share them easily.
As you can see from the preceding dialog, all you need to do is highlight a particular archive and you can save the app to disk, distribute it to an enterprise (this is HUGE people… HUGE) and you can even e-mail the application to other people for ad hoc distribution so you can involve some beta testers in your application before submitting it to the App Store.
I can’t tell you folks how much the features in Xcode 3.2.3 has changed the way I feel when writing iPhone apps. Lately it has become very tedious and cumbersome but with Xcode 3.2.3, I feel like I can finally relax and worry about the code and the features of the app and all the other crap like distribution and certification and AppStore submission is all taken care of.