Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Xcode Cloud Brings CI/CD to iOS App Development

Xcode Cloud Brings CI/CD to iOS App Development

This item in japanese

At WWDC21, Apple announced Xcode Cloud, a continuous integration and delivery (CI/CD) system to help developers build, test, and distribute iOS apps. Still in beta, Xcode Cloud supports both releasing to TestFlight and on the App Store.

Xcode Cloud is a CI/CD system that uses Git for source control and provides you with an integrated system that ensures the quality and stability of your codebase. It also helps you publish apps efficiently.

According to Apple, Xcode Cloud makes it easy to build and test automatically on multiple iOS simulators. In case of errors, Xcode Cloud will send a notification so developers can promptly fix them. This basic workflow covers the continuous integration side of the equation. Optionally, when a build succeeds, it can be automatically distributed to team members through TestFlight or submit it for review before publishing in the App Store. Continuous deployment can be automatically triggered by any change to the code.

Xcode Cloud is based on Git and requires your code to be on GitHub, GitLab, or BitBucket. Indeed, the upcoming version of Apple official IDE, Xcode 13, embraces collaboration using pull requests (PR) and allows developers to create, view, and comment on PRs, as well as merge changes into their codebase. Xcode Cloud can thus detect new pull requests, create a temporary branch, and set up a build environment to build the project and run its tests. Xcode Cloud is also able to manage dependencies and supports custom build scripts to perform a specific task at a designated time.

While Xcode Cloud appears to follow Apple's philosophy of providing easy-to-use tools that address a very specific use case, namely using CI/CD for iOS apps without the need to set up a whole infrastructure, it also brings with it a number of limitations, such as no support for "configuration as code" nor for DevOps platforms, etc. This may be an issue or not depending on the size of your project and organization.

Previous to Xcode Cloud, iOS developers could adopt CI/CD using fastlane, a tools developed by Google and supporting both iOS and Android.

Xcode Cloud will become available with Xcode 13, which should come out of beta next Fall.

Rate this Article