Stay up to date with the latest iOS CI/CD news

Every two weeks, directly to your inbox and packed with everything you need to know and be aware of so that you're always prepared for the next app release!

Previously supported by:

Issue 35


Codemagic CI/CD for mobile teams

iOS teams are switching to Codemagic because iOS has been a second-class citizen in many CI providers. Painful to get started or change anything, slow to update to the latest software - macOS, Xcode. Slow build speeds. NO MORE with Codemagic.

🚀 Automating an app’s release.

This week I have completed a task for NowPlaying that I have been wanting to do for a while: automating the release process.

We release fairly often and we wanted a quick way to upload builds directly to TestFlight that wouldn’t cost us any money and was effortless to set up.

For us, the obvious choice for this was Xcode Cloud. Apple’s developer membership includes a 25 compute hours per month plan at no extra cost and its integration and ease of use are just brilliant.

Once we settled on a CI/CD solution, we built a workflow that would run when a commit is tagged and perform the following actions:

  1. Update the project’s marketing version number based on the tag and commit the changes to the repo.
  2. Archive the app.
  3. Upload the archive to TestFlight.
  4. Add to all test groups.

I will soon write an article with more detailed information but thought I would share the solution in case you’re looking at doing something similar for your app.

🧰 Compile and distribute your iOS SDK as a pre-compiled xcframework

I really enjoyed reading this article by Felix Krause, the founder of Fastlane, about how the ContextSDK library is compiled and distributed as a binary using CocoaPods.

🧐 Finding SwiftUI accessibility issues automatically

Xcode 15 introduced a new XCTest feature that allows developers to detect accessibility issues automatically during UI test execution.

If you’d like to learn how to use this new feature to audit SwiftUI views, I would recommend reading this great article by Leonardo Pugliese 🎉.

🚨 Changes to App Store Connect upload requirements

Apple announced earlier this week that, starting on the 29th of April, any apps uploaded to App Store Connect for iOS 17, iPadOS 17, tvOS 17, or watchOS 10 must be built with Xcode 15.

Make sure you make your app build on Xcode 15 if you haven’t yet and update your CI’s runners to build with the same version of Xcode as soon as possible.

🆕 GitHub-hosted macOS Sonoma runners are now available!

GitHub announced towards the end of January that M1 macOS machines running on Sonoma (macOS 14) are now publically available to be selected as runners for GitHub Actions workflows.

Note that the latest runner is still on macOS 12 and, for now, you must explicitly select the M1-based Sonoma runners with one of the following keys: macos-14, macos-14-large, macos-14-xlarge.

🔐 More keys added to GitHub’s secret scanning

GitHub’s Secret Scanning, a tool which warns developers of the existence of secrets in their codebases, got an update this week with new supported keys.

The update includes common keys for secrets from popular services such as Stripe, Notion or OpenAI.