betabuilder: Ruby gem makes iOS ad-hoc builds suck less

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 To get started, first install the gem:

gem install betabuilder

Next, require BetaBuilder in your Rakefile:

require 'rubygems'
require 'betabuilder'

… and configure your app: do |config|
  # your Xcode target name = "MyGreatApp"

  # the Xcode configuration profile
  config.configuration = "Adhoc" 

  config.deploy_using(:web) do |web|
    web.deploy_to = ""
    web.remote_host = ""
    web.remote_directory = "/remote/path/to/deployment/directory"

Now we can see all of our tasks with rake -T:

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"

Nifty. Need additional deploy strategies? Go ahead and fork the project and share it with the community.


Thanks, Luke, for pointing out some prior art from Hunter who lent the name to the project.

[Source on GitHub]

News Films

Our little film studio focuses on telling developer-centric stories that need to be seen.

Beyond Code: Season 3 / GopherCon 2015

0:00 / 0:00