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!

Read and trusted by engineers from:

Issue 47

Sponsored

Relax, you can roll back your mobile release

No one is immune from shipping critical bugs to production, but Runway helps you limit the amount of havoc that can cause.

šŸ¤– The era of automation šŸ¤–

With the rise of AI over the past few years and the introduction of incredibly powerful LLMs specifically trained to analyze and write code, many Software Developers started to fear for their job safety and believed that AI would eventually take their jobs.

While I canā€™t really speak to what will happen in the very distant future, I donā€™t see AI replacing any developers in the near (or even pretty far) future. Instead, I believe that AI will make us even better at our jobs by making us more effective, reducing the amount of boilerplate and tedious manual repetitive tasks that we have to write and perform and will help us identify and fix problems a lot quicker than we would have in the past.

An example of a situation where AI can prove incredibly powerful is when doing big refactors. At my old job, we used Quick and Nimble extensively in our test suites. We all agreed that we wanted to move away from these frameworks in favour of vanilla XCTest, but due to the sheer amount of tests using the framework, we knew it wasnā€™t going to be an easy task.

For this reason, we decided to use a tool like GitHub Copilot Chat and prompt it to help migrate full suites within a matter of seconds. While this approach still required manual input, it significantly reduced the migrationā€™s effort. For you to see the size of the impact, I was able to migrate a 3000+ line test case that would normally have taken me hours or even days in a matter of minutes! šŸ¤Æ
I would thoroughly encourage you if you havenā€™t yet done so to embrace AI rather than fear it and use it to automate processes and improve your developer experience!

P.S.: One of the articles that I share in this article is another example of how AI can be used to improve developer experience and productivity, so make sure you continue reading to find out more about it!

šŸŖ„ Automatically fix your failing CI/CD builds

FlyCI, a company that provides cheaper and faster runners for GitHub Actions with the same software installed as the official images, has just launched a new product: FlyCI Wingman.

This new product comes in the form of an action that analyzes failures in a workflow run and automatically suggests code changes to fix them so that you donā€™t have to spend time trying to figure out what the issue is. I think this is a great idea and Iā€™m looking forward to trying it out.

šŸ¤Æ Automatically migrate suites from XCTest to Swift Testing

swift-testing is a new Open-Source library by Apple that leverages the power of Swift macros to provide a modern and Swifty way to write tests on Apple platform apps. It ships bundled in the Swift 6 toolchain and Xcode 16.

The swift-testing-revolutionary Open-Source project from giginet, a software engineer at Line and core contributor of Fastlane, automates the process of migrating your XCTest suites over to Swift Testing so that you can convert your whole codebase in a matter of seconds instead of months.

šŸƒ Why you need CI/CD as an Indie Dev

As an indie dev, you usually have to wear many hats when working on an app: from marketing and App Store Optimisation to designing and building new features for the application itself. Thatā€™s why itā€™s super important that you rely on automation as much as possible to avoid spending time in manual and time-consuming processes such as releasing your application.

Rudrank has recently gone indie and, in this post, he talks about the steps he follows every time he creates a new project and the role CI/CD and automation play in the projectā€™s velocity and success.

šŸ” How to get the checksum of a file using Swift

A checksum is the result of applying an algorithm to a fileā€™s contents that is used to verify the fileā€™s integrity. It is a common practice to use checksums to ensure that files have not been tampered with or corrupted during transfers such as downloads or uploads.

There are plenty of command-line tools that take care of this task for you but, when I was looking for a way to get the checksum of a file in Swift, I found a mixed bag of solutions that were either not cross-platform or dated. In this article, I show you the necessary code to compute a fileā€™s checksum so that you can use it in your Swift apps and tools.

šŸ§° How to compile your Swift executables for different platforms

Swift has features like a low memory footprint and type safety that make it a great language choice for building command-line tools. When building such tools, it is very important to be familiar with the process of compiling the code into executables that can run on all different supported platforms.

In this article, Natan guides you excellently through the process of compiling your Swift executable code into binaries for multiple platforms.

šŸ§Ŗ How to build and run tests for an iOS app using GitHub Actions

Being knowledgeable in CI/CD and knowing how to automatically build and test your application is a key skill to have as an iOS developer. However, when youā€™re in the early stages of your career, the world of CI/CD can be daunting and overwhelming, or at least it was to me in the beginning šŸ˜….

Thatā€™s why I love seeing introductory content like this series of posts by Artur Suliński on the Bright Inventions blog. If you want a great introduction to the world of iOS CI/CD, definitely check these articles out!