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 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 -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"
end
Nifty. Need additional deploy strategies? Go ahead and fork the project and share it with the community.
[Update]:
Thanks, Luke, for pointing out some prior art from Hunter who lent the name to the project.
Discussion
Sign in or Join to comment or subscribe