So you wanna take your iOS development to the next level? I’ve got just the thing for you!

Continuous integration allows you to continuously create up to date versions of your application whether it be iPhone, Android, PHP or JS and deploy them to the appropriate platforms as well as run other tasks depending on whether the application built successfully. It is the ultimate development tool and is the last line between you and your production application. The days of you deploying applications directly from your desktop are gone.

CI works extremely well with large groups using SCM or with solo acts who want to maintain their code and automate builds and deployments. The days of “well it works on my machine” are over!

At fishrod interactive we wanted to take this to the next level. We’ve acquired a mac mini and wanted to turn it into something special… Here are our requirements.

  • When a developer check something into SVN
  • The iPhone application should be built on our CI server
    • During the build any unit tests should be run
    • If the unit tests fail then the build should fail
  • On a successful build
    • The iPhone application should be deployed to the CI’s protected web directory
      • Developers should be able to download it for beta testing
    • The iPhone application will also be added to iTunes so that our dev iPhone/iPad and iPod touch always has our latest apps for demo

We like to share… so this is how we did it!

Create a new project

Alright, so let’s create a test simple project and check it into SVN! You already know how to do this… if you don’t, read this book – iPhone App Development: The Missing Manual.

app….

Fuck it lol, I just found this – http://blog.jayway.com/2010/01/31/continuos-integration-for-xcode-projects/