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 27

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 twenty-seventh issue of the iOS CI Newsletter. Hope you’ve had a great couple of weeks!

This is the first issue I am sending from Spain, which is my new home as of last week. My partner and I made the decision to relocate to Spain after nine wonderful years in the UK, which meant that I had to leave my role at the BBC where I have learnt a lot and grown as an engineer and move on to a new adventure as an iOS developer at Glovo.

I started the new job a few days ago and I will be working from their Barcelona offices, which I am super excited about. Alongside my day-to-day product work, I am also looking forward to making a positive impact and bringing my expertise to the table in the CI/CD domain.

If you are based in Barcelona, give me a shout and we’ll meet up for a coffee ☕️. Now, let’s get into it and see what’s new in the iOS CI world!

💡 Adding an Info.plist file to a Swift executable

I have recently discovered that you can add information such as a bundle identifier to a Swift command-line tool using an Info.plist file. The best thing is that you can do so by adding a section to the executable so that you can still ship it as a single file!

The process is fairly simple and works for both Swift Package and Xcode project executable targets.

⚠️ Xcode 15.0.1 still suffers from test performance

Earlier this week I came across this tweet from Thomas Ricouard where he shared that, despite Apple’s 15.0.1 bug fix release to address the slow first runs of test suites, the issue was still apparent.

After reading the replies, it seems that some users are no longer experiencing freezes and hangs but rather the tests now seem to run 2x slower than they used to do on Xcode 14 😱.

🪠 Automated memory leak detection on CI/CD

I thoroughly enjoyed reading this article by Tuan Hoang where he explains the difference between memory leaks and retain cycles and how tricky it is sometimes to identify leaks, even when using the memory debugger in Xcode.

What I love about this article is that Tuan Hoang went ahead and came up with an automation process that uses UI tests, Apple’s leaks tool and a custom script that parses memgraphs to detect memory leaks 🤯.

🔐 1Password + CI/CD

While this post is from earlier in the year, I only discovered that you can retrieve secrets from 1Password directly from your CI/CD workflows last week. I have been a 1Password user for a long time and I can’t wait to try this out!

The amazing article by Michael Carey shows an example of how to use the feature in GitHub Actions, but there are many providers supported. If you’d like to see an example using Codemagic, check out this great article by Himesh Panchal.

📹 [NSSpain] Why CI/CD won’t save your mobile team

I enjoyed watching the video for Gabriel Savit’s talk at NSSpain, where he goes through numerous aviation-themed automation examples and how they apply to mobile teams.

While CI/CD is a key factor to ensuring your team’s success, it won’t be enough on its own. There are several other processes and automations that need to be considered as Gabriel explains in his talk 👍.