Let me explain my need:
I'm having a networked environment with 3 computers connected to a server which will be running full-time. The server also runs a FTP server. I would like to create an environment where 3 developers will be able to work on the same project.
For example, if I'm creating a CRM app, I would like to split the project into modules so that each one will be working on each module like Developer A will be working on authentication, Developer B will be working on saving/retrieving data and Developer C will be working on User Interface programming.
If I use Revision Control, can anyone please guide how to set it up ?
Can the development of the entire app run simultaneously since each of the developers will be working on different areas ?
How can I create such type of multi-developer iOS environment ?
Best Answer
Sounds like a standard continuous integration setup
It seems that you would like to create a continuous integration environment so that developers can work independently of each other, but merge their work on a regular basis (every couple of hours) and have the final outcome pushed out to the iOS device that acts as the current release standard.
Setting up a version control system
First set up a version control system. Ask your developers which they'd prefer but the hot candidates will be Subversion, Mercurial or Git. The last two offer distributed version control so your developers can work anywhere (even when offline from the main version control server). The first (SVN) requires that a version control server is available for checkins, normally the case when you're in the office. Current versions of Xcode have native support for Subversion, but there is also the Versions client and Git Tower for git.
There is no shortage of blogs regarding setting up any of the above so just choose and get started. Personally, Mercurial is a breeze but your mileage may vary.
Setting up Hudson
Hudson is a very straightforward continuous integration build server. (Jenkins is the direct successor project to Hudson and you may want to apply this approach using Jenkins instead).
Set up Hudson for iOS builds and give it a build target something like this
Configure Hudson/Jenkins to build on every change to the version control system.
The overall process then becomes