With Apple’s App Store review process, making your submission bug-free and high-quality is of utmost importance. Continuous Integration is a testing practice utilized to ensure a highly-tested build is always available for shipping. Jenkins is a popular continuous integration suite, but it was not designed for iOS development and has several limitations. Apple released their continuous integration server, Xcode Server, with Xcode 5 last summer. In the talk, we examine the prerequisites to setting up continuous integration, the details of creating bots on Xcode Server, and the features that are available on Xcode Server along with their uses. Finally, we present a list of caveats to be aware of when planning a continuous integration implementation.
Kiel Oleson is an iOS Mobile Software Engineer at Eventbrite in San Francisco. Since joining Eventbrite in 2010 as their first dedicated iOS engineer, he has led from-scratch development of Eventbrite’s eponymous application for event attendees and Eventbrite At The Door, a ticket point-of-sale system. Prior to writing software for iOS, he wrote WebKit-based software for Mac OS X with Cocoa and Qt. Kiel is an advocate of test-driven development and continuous integration in the iOS community, from its roots in UIAutomation, OCUnit and shell scripts to today’s KIF, XCTest, and Xcode Server.
Kiel moved to San Francisco from Missouri and is a graduate of the Raikes School at the University of Nebraska. When he isn’t improving his software’s reliability and user experience, he is in his car trying to improve his lap times at the racetrack.