Apple has opened subscriptions for Xcode Cloud, a continuous integration and delivery (CI/CD) service designed to work with Xcode, the official IDE for macOS and iOS development.
Xcode Cloud was introduced in June and is an add-on subscription for developers who are already signed up to the Apple Developer Program.
The cost starts at $14.99 per month for up to 25 compute hours, though this basic plan is free until the end of December 2022. A fee of $99 per year is still required for the developer program itself. Further compute hours are available at extra cost, for example 250 hours for $99 per month, and can now be obtained via the Apple Developer App.
Xcode Cloud is based on workflows defined in Xcode. The core actions in a workflow are build, analyze, test, and archive. The service also supports post-actions, such as distributing a new version of an app, and custom build scripts. When a build completes, the artifacts (output from the build) are stored online for 30 days so they can be downloaded, for example by App Store Connect, the web-based tools Apple offers for managing apps in its Store, including those for iPhone, iPad, Mac and Watch. There is also a service called Test Flight, which is for distributing preview releases to testers.
Apple considers these three services – Xcode, TestFlight, and AppStore Connect – as the core elements of its CI/CD system.
The service works in conjunction with a git repository, which must be one of either Bitbucket, GitHub or GitLab, though self-managed instances are supported as well as cloud-hosted. Xcode Cloud clones a repository temporarily onto its own servers, though Apple says: “It doesn’t store your source code and securely handles any stored data — for example, your derived data — and keeps it private.”
Xcode Cloud is all about keeping developers within the Apple ecosystem. CI/CD is widely adopted, and without Xcode Cloud devs will use competing systems such as Github Actions or CircleCI. The advantage of Xcode Cloud is its integration.
“I liked that with a single ‘git push’ I could compile, archive, deploy to TestFlight, and send for beta review. I even pushed a fix from my iPhone using Working Copy one time while I was on a train,” said one developer on Hacker News.
Developers who work entirely with Apple products may be pleased, but the company seems uninterested in scenarios such as cross-platform development, or developing web applications on a Mac, or using an IDE other than Xcode. Another disappointment is that Apple’s cloud build service does not enable development of Mac or iOS software from non-Mac computers.