Easy iPhone UIKit Development and Deployment with XCode 3.0 iPhone Template

| | Comments (7) | TrackBacks (0)

Here is the guide to set up everything you need to use the XCode template with SSH deployment on build.  When you are all set up, you can just build your application, it will copy the .app to the iPhone and restart Spring Board.  Please make sure you have BSD Subsystem and OpenSSH installed prior to doing the following steps.  You will also need the iPhone tool chain built on Leopard to do iPhone development.  See my earlier post.

1.  Setup SSH.

Open Terminal

ssh-keygen
Hit Enter at the "Enter file in which to save the key" prompt.
Enter your passphrase.
cd ~/.ssh
cat id_rsa.pub >> authorized_keys

SSH into your iPhone.
mkdir ~/.ssh
Copy the authorized_keys file over to the ~/.ssh directory on your iPhone.

On the iPhone, perform the following:

chmod 755 /var/root
chmod 700 /var/root/.ssh
chmod 644 /var/root/.ssh/authorized_keys

2.  Set up environment variable on your Mac. (This is just one of many ways).

mkdir ~/.MacOSX
Open Property List Editor and create a new Property List.  Add a new node and call it IPHONE_IP.  Class String and put your iPhone IP address in the value.  Save as ~/.MacOSX/environment.plist.  Reboot.

3.  Download and install the XCode template

Download the template and follow the README for install instructions.  Create a new app and do a Build.  XCode will prompt you for your passphrase if everything is setup correctly. Enter your passphrase and save to keychain.  You are all done.


Have fun coding and deploying your iPhone apps!

0 TrackBacks

Listed below are links to blogs that reference this entry: Easy iPhone UIKit Development and Deployment with XCode 3.0 iPhone Template.

TrackBack URL for this entry: http://www.cocoamachine.com/mt-tb.cgi/7

Comments

7 Comments

About this Entry

This page contains a single entry by Ben S. Stahlhood, II published on January 6, 2008 9:02 PM.

iPhone XCode Template was the previous entry in this blog.

iPhone XCode 3.0 Template Update is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Pages