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 14

Sponsored

Put your mobile releases on autopilot.

No more cat-herding, spreadsheets, or steady drip of manual busywork. Runway helps your team level up your release coordination and automation, from kickoff to release to rollout.

Hey everyone! 👋 Welcome to the fourteenth issue of the iOS CI Newsletter. I hope you’ve all had a fantastic couple of weeks!

By the time this issue of the newsletter goes out, I will be back in the UK after an amazing week in New York. I had an amazing time speaking about Xcode Cloud at NYSwifty and spent the rest of the week exploring the city and catching up with people.

If you weren’t able to attend the conference in person or online, make sure you keep an eye on NYSwifty’s Twitter as they will publish recordings of all talks at some point. In the meantime, you can download my slides and send me a message if you have any questions or want to discuss Xcode Cloud! ☁️

☁️ Deploying beta versions using Xcode Cloud

Xcode Cloud makes it very easy to automate an app’s deployment process and can help you start uploading builds to TestFlight with just a few clicks.

Things start getting a bit more complex though if you have extra requirements such as distributing your app’s beta versions to an external service such as Microsoft’s AppCenter. Worry not though, after reading this article you will know all about deploying beta versions to both TestFlight and any external services 📦.

🧰 Installing and managing Swift toolchains with Swiftly

I attended Tim’s talk at NYSwifty this week on the current state of Swift on the server. During this talk, he mentioned a new project that the Swift Server Work Group are currently working on: Swiftly.

Swiftly allows you to install and manage Swift toolchains across multiple architectures and operating systems. While it is still early days in the development of the command line tool, it is now available for everyone to try and contribute to ✍️.

🏉 A behind-the-scenes look into Rugby’s latest update

If you’ve ever worked on a project that uses CocoaPods as a dependency manager, you will know how time-consuming it can be to install and build pods, which can really slow down your CI workflows.

For this reason, Vyacheslav Khorkov came up with a command line tool called Rugby, which helps speed up the process by introducing smarter caching into the install/build process of pod dependencies. Even if you don’t use CocoaPods I would thoroughly recommend reading this behind-the-scenes article on what went into making the latest Rugby update as it talks about how to solve some interesting challenges 🏉.

📑 Linting your documentation on CI

At the end of last year, I was introduced to vale.sh by Jeroen Leenarts at the Do iOS conference in Amsterdam. Ever since I have been using the tool to make sure my documentation adheres to a set of styles and standards and I am even using it to lint for tutorial-style articles on my blog.

In this article, Jeroen describes why and how you would use vale.sh and, amongst many other things, how you can set up a CI/CD workflow to lint your project’s documentation.

🍕 Should you use CI/CD as an indie dev?

One of the questions that I get very often is whether it is worth setting up CI/CD workflows as an indie or solo developer. Rudrank Riyam is giving a talk on exactly this at Deep Dish Swift next week! 🍕

If you’re in or around Chicago, I would thoroughly recommend attending the conference and making sure you don’t miss Rudrank’s talk, which sounds super exciting and interesting! Furthermore, Rudrank has written an article on Codemagic’s blog about what to expect from the conference 🤩.

💡A technical guide to Mobile CI/CD

In this article on Wolfia’s blog, Naren Manoharan gives an excellent overview of what mobile CI/CD is and what it can be used for.

I would thoroughly recommend reading through this article if you’re starting out with CI/CD and want to learn more about it or if you’ve got experience with it but want a refresher on some of the concepts 👏.

🚀 Fastlane 2.212.2 is out!

A new release of Fastlane is now out with numerous improvements and bug fixes. Among some other great changes, this release includes one of my contributions which makes deliver’s verify_only option work out of the box again by using altool instead of the iTunes Transporter.

I want to thank Josh Holtz for getting the release out and @giginet for helping see the work through and reviewing my pull request 🎉.