Behind most every App Store download, there is a painful trail of ad hoc beta builds as developers send beta bits to users to gather feedback and fix bugs. Luke Redpath, UK Rubyist and iOS developer, aims to ease that pain for iOS developers with BetaBuilder, a Ruby gem that bundles up a collection of
rake tasks to make it easier to deploy your iOS apps.
BetaBuilder supports distributing your apps own your own server or using TestFlightApp.com. To get started, first install the gem:
gem install betabuilder
Next, require BetaBuilder in your Rakefile:
require 'rubygems' require 'betabuilder'
… and configure your app:
BetaBuilder::Tasks.new do |config| # your Xcode target name config.target = "MyGreatApp" # the Xcode configuration profile config.configuration = "Adhoc" config.deploy_using(:web) do |web| web.deploy_to = "http://beta.myserver.co.uk/myapp" web.remote_host = "myserver.com" web.remote_directory = "/remote/path/to/deployment/directory" end end
Now we can see all of our tasks with
rake beta:archive # Build and archive the app rake beta:build # Build the beta release of the app rake beta:deploy # Deploy the beta using your chosen deployment strategy rake beta:package # Package the beta release as an IPA file rake beta:prepare # Prepare your app for deployment rake beta:redeploy # Deploy the last build
If you want to use TestFlight instead of hosting your builds yourself, simply swap out the deploy config with:
config.deploy_using(:testflight) do |tf| tf.api_token = "YOUR_API_TOKEN" tf.team_token = "YOUR_TEAM_TOKEN" end
Nifty. Need additional deploy strategies? Go ahead and fork the project and share it with the community.