I'm an iOS and Ruby developer from Colchester, UK. I'm an iOS engineer at Community.com where I also lead the mobile guild.
You can view more about my experience and skills on my website and on my LinkedIn profile.
A collection of Rake tasks for managing and distributing iOS ad-hoc builds
Home Page: http://lukeredpath.co.uk
License: MIT License
I'm an iOS and Ruby developer from Colchester, UK. I'm an iOS engineer at Community.com where I also lead the mobile guild.
You can view more about my experience and skills on my website and on my LinkedIn profile.
Hi,
is there any plan to support deployment to a web server through FTP?
Thanks!
My Gemfile:
source "http://rubygems.org"
gem 'betabuilder', :git => 'git://github.com/lukeredpath/betabuilder.git'
gem 'xcodebuild-rb'
Output from rake beta:archive --trace
:
** BUILD SUCCEEDED **
** Execute beta:archive
Archiving build...
rake aborted!
undefined method `map' for nil:NilClass
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194/bundler/gems/betabuilder-c99180332459/lib/beta_builder/archived_build.rb:79:in `write_plist_to'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194/bundler/gems/betabuilder-c99180332459/lib/beta_builder/archived_build.rb:66:in `save_to'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194/bundler/gems/betabuilder-c99180332459/lib/beta_builder.rb:167:in `block (2 levels) in define'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
/Users/johndoe/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/bin/rake:19:in `load'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194@global/bin/rake:19:in `<main>'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `eval'
/Users/johndoe/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `<main>'
Tasks: TOP => beta:archive
Seems like the building & parsing output of xcodebuild-rb
could be useful here, which would leave beta builder simply to package the archives & publish to various places.
I'm guessing this has been discussed before, but I didn't see any issues.
The source here has loosened the json gem version restriction, but the released gem still depends on json version 1.4.6. Could you re-release the gem to fix that discrepancy? json 1.4.6 is incompatible with ruby 2.0.0 (which is now standard on OS X).
Thanks!
It looks like I might be able to strip out the custom IPA packaging code and replace it with xcrun.
Need to investigate, but it's always better to use existing tools for the right job.
Some assumptions are made within betabuilder like the build directory (which includes -iphoneos
) to make it only work for iOS projects.
I'm currently working on a branch to make it work for OS X projects - anybody else doing stuff like this?
BetaBuilder goes along fine until it gets to adding libraries from other projects in our Workspace:
ld: library not found for -lRestKitJSONParserYAJL
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1
I've set the HEADER_SEARCH_PATHS and running/archiving from within XCode works fine. Is there something I'm missing or another configuration I can make?
Thank you!
I had to search the closed issues to find it.
On my system, xcode's build & archive function puts files in
~/Library/Application\ Support/Developer/Shared/Archived\ Applications
What version of XCode are you running? I'm on 3.2.5 1760
I'm trying to use betabuilder in a project with ios-calabash - in my bundler gemfile I have the following
gem 'calabash-cucumber'
gem 'betabuilder'
calabash wants CFPropertyList ~>2.2, betabuilder ~>2.0.0
Can betabuilder be less restrictive on CFPropertyList version?
Using the following config
config.deploy_using(:testflight) do |tf|
...
tf.notify = true
end
No notifications are being sent while deploying.
It doesn't look like there is a way to specify a port when using scp to deploy
Having a CocoaPods based project (https://github.com/aerogear/aerogear-ios) and did use the following Rakefile to build it:
require 'rubygems'
require 'betabuilder'
BetaBuilder::Tasks.new do |config|
# your Xcode target name
config.target = "AeroGear-iOS"
config.configuration = "Release"
config.build_dir = "buildDir"
# the Xcode configuration profile
config.workspace_path = "AeroGear-iOS.xcworkspace"
config.scheme = "AeroGear-iOS"
##config.app_name = "MyApp"
end
But it looks like the build_dir is ignored...
...
BUILD:OUTPUT....
...
/bin/sh -c /Users/wessi/Library/Developer/Xcode/DerivedData/
...
** BUILD SUCCEEDED **
It is using the build location from 'File->Workspace Settings..' entry
I use different product names for each of my different deployments (dev, adhoc, app store). When I attempted to use BetaBuilder to upload to testflightapp it built my Ad Hoc version of the app but then assumed the .app was the same name as the target. This resulted in uploading an old version of my app to testflight and not the one I intended.
My Ad Hoc configs are called "Ad Hoc" - the presence of the space breaks the build script. I will have a fix in my fork shortly.
Hi,
i am trying to run rake beta:deploy and getting this output with the following error messge:
** BUILD SUCCEEDED **
adding: Payload/ (stored 0%)
adding: Payload/BetabuilderTEst.app/ (stored 0%)
adding: Payload/BetabuilderTEst.app/_CodeSignature/ (stored 0%)
adding: Payload/BetabuilderTEst.app/_CodeSignature/CodeResources (deflated 53%)
adding: Payload/BetabuilderTEst.app/BetabuilderTEst (deflated 85%)
adding: Payload/BetabuilderTEst.app/[email protected] (deflated 69%)
adding: Payload/BetabuilderTEst.app/Default.png (deflated 50%)
adding: Payload/BetabuilderTEst.app/[email protected] (deflated 67%)
adding: Payload/BetabuilderTEst.app/embedded.mobileprovision (deflated 34%)
adding: Payload/BetabuilderTEst.app/en.lproj/ (stored 0%)
adding: Payload/BetabuilderTEst.app/en.lproj/InfoPlist.strings (deflated 45%)
adding: Payload/BetabuilderTEst.app/en.lproj/ViewController.nib (deflated 31%)
adding: Payload/BetabuilderTEst.app/Info.plist (deflated 36%)
adding: Payload/BetabuilderTEst.app/PkgInfo (stored 0%)
adding: Payload/BetabuilderTEst.app/ResourceRules.plist (deflated 26%)
rake aborted!
File pkg/Payload//Info.plist not readable!
Tried to install via Git, since Rubygems hasn't been updated yet past 0.7.4.1. But I get a 404:
$ gem install betabuilder --source https://github.com/lukeredpath/betabuilder.git
ERROR: Could not find a valid gem 'betabuilder' (>= 0) in any repository
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
bad response Not Found 404 (https://github.com/lukeredpath/betabuilder.git/latest_specs.4.8.gz)
betabuilder should probably default to no distribution_lists if none is provided in the Rakefile. I got this message when running deploy using testflight but with no distribution_lists set.
rake aborted!
undefined method `join' for nil:NilClass
It seems that if you call xcodebuild command from the command line as betabuilder does all the build product are placed in ./build and not in the DerivedData folder.
This means that for example rake beta:archive doesn't work because wasn't able to read the output because it expect the build output in a different folder
I have dependent subprojects which are written in C++.
These build fine in debug mode and clean correctly, however using betabuilder the build does not clean and I do not get a recompiled version of the subproject. Is there any simple way to turn this on?
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.