Issue 47
Sponsored
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!
CI/CD providers latest software versions
Latest available Xcode and macOS versions on popular mobile CI/CD providers.
16.2 (16C5032a)
15.1 (24B2083)
16.2 (16C5032a)
15.2 (24C101)
16.2 RC (16C5031c)
15.1 (24B2083)
16.2 RC (16C5031c)
15.1.1 (24B91)
16.2 Beta (16B5100e)
14.6
16.2 (16C5032a)
14.6.1 (23G93)
15.4 (15F31d)
14.6.1 (23G93)
16.0 (16A242d)
14.5 (23F79)
šŖ 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!