iPhone Capistrano deployment
October 28th, 2008
You can automatically deploy your own application to the iPhonedevice by using Capistrano.
Requirements: Capistrano (gem install capistrano) and ldid (install via Cydia).
Build your application for the ARM architecture:
  bjam --toolset=darwin macosx-version=iphone-2.0 architecture=arm release
	Deploy the application to the iPhone:
  cap deploy
	Your app is packaged (tar), copied (scp) to your iphone and SpringBoards is restarted. I use the following Capfile:
set :application_name, "LocateMe" 
set :iphone_ip, "192.168.1.4" 
set :user, "root" 
# password = alpine
desc "Package your iPhone application" 
task :package do
 %x[cd "~/Library/Application Support/iPhone Simulator/User/Applications/00000000-0000-0000-0000-000000000000" && \
    tar -czpvf #{application_name}.tar.gz #{application_name}.app && \
    scp #{application_name}.tar.gz #{user}@#{iphone_ip}:/Applications]
end
desc "Install the application on your iPhone" 
task :install, :hosts => "#{iphone_ip}" do
  run <<-CMD
    cd /Applications/;
    tar -xzpvf #{application_name}.tar.gz;
    rm #{application_name}.tar.gz;
    ldid -S /Applications/#{application_name}.app/#{application_name};
    killall SpringBoard;                  # OS 2.0
#   /Applications/BossPrefs.app/Respring; # OS 2.1
  CMD
end
desc "Package and install the application on your iPhone" 
task :deploy, :hosts => "#{iphone_ip}" do
  package
  install
end
		
	
Sorry, comments are closed for this article.