You may have heard of Xcode, Apple‘s integrated development environment for macOS, which is used for developing software for macOS, iOS, iPadOS, watchOS, and tvOS. During WWDC, Xcode Cloud was released for Apple Developer Program subscribers. Due to the current limitations of CI/CD, it is not possible to use Xcode Cloud as the main CI/CD.
I tried Xcode Cloud and I will discuss what I have learned from Xcode cloud.
What is Xcode Cloud?
The Xcode Cloud service is built into Xcode and is designed specifically for Apple developers. Improve the efficiency and quality of the development and delivery of high-quality apps by providing advanced cloud-based tools that enable you to build apps, run multiple automated tests simultaneously, deliver apps to testers, and receive and manage feedback from users.
Xcode Cloud is a cloud-based application. It may be Apple’s CI/CD that replaces Circle CI, Bitrise, etc.
Current CI/CD environment
The following environment is used for iOS CI/CD.
- CircleCI
- Main. Basically doing almost all CI processing
- Github Actions
- Danger-only
- Zapier
- Used to trigger Cicle CI from e.g. Slack
The role of CI can be summarized as follows:
Using Fastlane, you can perform testing (*) and building. (*Includes unit tests and MagicPod calls)
- test
- Firebase AppDistribution Distribution
- Build & Deliver for Store
- Create pull request for version upgrade
- Danger
What can you do with Xcode Cloud?
Our goal is to migrate the following three tests from Circle CI to Xcode Cloud.
- unit test
- TestFlight delivery
- store delivery
It was actually 1 and 2 that I decided to do. Xcode Cloud’s workflow was almost enough to guide me through the introduction itself.
- Works with Slack
- Run when a specific file is updated
- Run when a specific branch is updated
There was a pattern that the device settings used in the test were reset from Xcode, so I set only those from App Store Connect. It was a good experience working with Xcode Cloud, and the documentation was mostly organized.
Benefits of running on Xcode Cloud
Two benefits come with migrating to Xcode Cloud: In addition, although you can see the results on Xcode, I don’t think that’s a reason to migrate.
- cost
- Simplified provisioning and certificate management
Now let me explain.
Xcode Cloud Cost:
We used 6,000 minutes/month as a rough estimate for this article. For example, Bitrise costs about $725 for 6,000 minutes. Let’s take a look at the pricing for Xcode Cloud now.

Based on the previous calculation of 6000 minutes, 6000 / 60 = 100 hours. Compared to Bitrise, it costs $49.99. Less than 1/10. However, Xcode Cloud has limitations, including the content related to iOS/Mac apps and workflows such as Test and Deploy. Therefore, we will use Fastlane, etc., to execute workflows that are customized to the needs of each company! There is no way to use it for such purposes.
Simplified provisioning and certificate management
If you’re using Fastlane, you’ll need to manage certificates/provisioning using Match, Cert, etc. Fastlane has improved the management around here when it comes to automating things like deployment, but it’s still confusing.
Xcode Cloud integrates with AppStore Connect, so certificate hassles are eliminated. Specifically, you can register with TestFlight just by setting up the workflow.
Conclusion:
It would be a serious consideration for me to migrate from Circle CI once billing becomes possible. It won’t be a complete migration, since Xcode Cloud can’t do everything you want, and you’ll need to test and deliver your app. But there’s lots of features that will improve you Apple iphone app development easier than before.