For a developer, doing beta releases on iOS can be a real pain sometimes.
For the past few years, we’ve had to go through the same song and dance: gather device IDs, create ad-hoc builds and then try to explain to users how to install them via iTunes. This can be trying for even technical users and non-technical users can get totally flummoxed. Let’s not even talk about people on Windows where the files often unzip in strange ways, leaving them totally confused.
Thankfully, Apple has made incremental improvements to this process over time. iOS 4.0 brings Web-based, wireless distribution of ad-hoc apps and the ability to embed provisioning profiles right into the IPA bundle. Your beta users can now install the software without ever using iTunes at all!
The only problem is that it’s not really documented, at least not in an end-to-end manner. On top of that, while Xcode can help you create some of the files needed for distribution, it doesn’t seem to go all the way.
I wanted to use this method to distribute my beta apps but I found myself creating the required XML and HTML files over and over again. There had to be a better way.
Enter ‘iOS BetaBuilder’ – a simple MacOS X app takes your archived IPA file and creates the required manifest and HTML files for wireless distribution. It even zips up a copy of the app for folks on 3.x that need to install via iTunes.
iOS BetaBuilder is freeware and runs on MacOS 10.6 or greater. You’re welcome to use it however you’d like and feedback is encouraged but I’m not in a position to offer any support – you use at your own risk blah blah blah. Bug reports and feature enhancements are welcome, though my time to work on the app is limited. One feature I do want to add is the ability to include your own custom HTML templates so it’s easier to stylize the HTML output.
Apple may well build this into a future version of Xcode but until they do, I hope this helps save you a few minutes. In my beta tests, it’s cut down on the ‘how the hell do I install this’ emails completely.
While I’ve been working on iOS for awhile, I don’t have a ton of experience with Cocoa proper – I’m sure there are probably some issues that slipped through the testing process.
How Does It Work?
1. Build your .ipa file using Xcode’s ‘Build and Archive’ option. Choose ‘Save to Disk’.
2. Launch BetaBuilder (or drag and drop the .ipa on to it). If you need to, select your .ipa file. The app should pre-fill the other details.
3. Enter your intended deployment URL. This is the URL on the Web where your beta will be posted / viewed in a browser. This info gets baked into the deployment file.
4. Hit ‘Generate Deployment Files’ and pick a location to output the files.
That’s it – just upload the generated files to your Web server and then hit the URL in the device’s browser. BetaBuilder simply generates the HTML and manifest files needed to make wireless distribution work. As a convenience, it also bundles an iTunes installable ad-hoc version as a zip file.
NOTE: If you are on IIS, you may need to add a MIME type for plist files – should probably be ‘text/xml’.
Follow me on Twitter: @hunter