One of the great new features of Mavericks Server is the new Xcode service. The Xcode service has been added to give developers a central repository for their development projects as well as support for Xcode’s continuous integration workflow.
When you first switch on the service, it will ask you to locate a local copy of Xcode 5. This service integrates very tightly with the main Xcode application.
Once you have pointed the service to Xcode you are ready to go.
Under the Repositories tab is where you can setup central repositories for developers to store their projects. It’s quite common for a typical app to be built by multiple developers. Xcode implements a Git repository. Git is an open source, source code repository system that allows access to source code via http/https or ssh. It’s an open standard and Apple have implemented it within Mavericks Server.
You can create multiple repositories and specify access rights to each repository. Once setup, developers can point their copy of Xcode to one of the repositories and start editing a shared project.
Under the settings tab we have a few options:
- We can set permissions to who can create Bots on the system. Xcode Bots allows a developer to automatically handle tasks, like building an app, analysing and testing the app they are building. Traditionally these tasks where performed by the developers on their own machines. These tasks can now be handed off to the server to perform. The developer can even schedule the time the bots run.
- We can log the service into the appropriate Apple Developer Accounts so the server has access to the correct certificates and provisioning profiles to perform its tasks.
- We also have a devices section. This will list any iOS devices physically attached via USB. Here we can attach a range of devices to the server. Bots can then be created to build and automatically test the app on these devices. So for instance you may want to test the app you are building on a wide range of devices , iPad – iPhone. Rather than the developer having to build and test the app on each device one at a time, the server can do a batch test in one go.
The final option is a link to a web page to view your bots. Here you can view all your bots, see what tasks they are performing, which ones have encountered errors and even track the errors back to an individual developer.