Я использовал CruiseControl с XCode (аналогично тому, что предложил Pragmatic Automation) и добился разумного успеха. Я также очень хорошо знаком с CruiseControl, и это относительно ужасная настройка формата конфигурации.
Я также хорошо использовал BuildBot, но обнаружил, что его сильные стороны не совсем соответствуют моим потребностям (построение распределенных ведомых и отчетность по нескольким различным системам). Конфигурирование настроек buildbot само по себе может быть искусством, хотя это и не сложно. Это все по сути написание скриптов на python.
Поскольку Hudson стал доступен, я бы рекомендовал его в качестве средства для непрерывной интеграции. Он имеет веб-интерфейс (основной недостаток CruiseControl, на мой взгляд) и очень гибок в различных системах, которые он поддерживает. Вы можете вызывать сборки, управляемые из командной строки, довольно легко и совершенно очевидно. Тем не менее, я не настроил экземпляр, использующий Hudson и XCode, как у меня для других систем, так что это отчасти спекуляция с моей стороны.