Issue 52
Sponsored
Codemagic is the first CI/CD to make Apple M2 machines available to everyone (including the free tier!). This is a free upgrade from M1 machines with no price change.
🚀 How to ship an app 🚀
Last week I decided that I wanted to run a FREE 2-hour webinar to give a high-level introduction to what CI/CD is and what role it can play in an Apple development ecosystem.
I put together a small form to gauge interest and shared it on my social media and wow… the response was incredible! Within 24 hours, more than 300 people had signed up!
For the past few days, I have been working on a fastlane-driven release pipeline using GitHub actions, that I will re-build live during the workshop for all attendees. The pipeline archives the app, automatically sets the version of the Xcode project, bumps the build number and uploads the build to App Store Connect.
If you haven’t done so yet and are interested in learning more about CI/CD, make sure you sign up for the webinar here!
CI/CD providers latest software versions
Latest available Xcode and macOS versions on popular mobile CI/CD providers.
16.1 Beta 2 (16B5014f)
15.0 (24A335)
16.1 Beta 2 (16B5014f)
15.0 (24A335)
16.1 Beta 2 (16B5014f)
14.5 (23F79)
16.1 Beta 2 (16B5014f)
15.0 (24A335)
16.1 Beta 2 (16B5014f)
14.5 (23F79)
16.1 Beta 2 (16B5014f)
14.6.1 (23G93)
15.4 (15F31d)
14.6
16.0 (16A242d)
14.5 (23F79)
🚀 A new version of the App Store Connect API is live!
Version 3.6 of the App Store Connect API has recently been released and, among other changes, it includes numerous improvements around In-App Purchases and subscriptions. If you use the API from a Swift application, make sure you check out Antoine van der Lee’s appstoreconnect-swift-sdk library, which has already been updated to support the latest App Store Connect API version.
This update could not come at a better time as Hidde and I are working on a feature that uses that specific part of the API for Helm! 🚀
Removing 58000 lines of code using XcodeGen
If you have been an Apple platforms developer for a while and worked as part of a team, you will most likely have encountered numerous merge conflicts caused by Xcode project files. And let me tell you, they can sometimes be incredibly hard to fix! 😱
That’s why I love reading stories like this one from Gio on mokacoding.com where they removed all Xcode project files from source control in favour of generating the Xcode projects with XcodeGen instead, removing 58,000 lines of code in the process ✂️.
🕵️♂️ Find out when a bug was introduced using git
The first point of call when you find a bug in your app is to try and work out which code changes caused it so that you can either revert them or fix them.
Before you start going back and checking out commit by commit in your git history, make sure you read this article by Derek Lee on artandscienceofcoding.com and start leveraging the power of git’s bisect command.
🧪 Converting Fastlane lanes to shell scripts
Fastlane is an incredible Open-Source tool that has been helping Apple app developers automate processes such as building, testing and distributing their apps.
While it is incredibly powerful, it is not always the right solution for all automations. As Daniel Saidi shares in this article, sometimes all you need is a shell script!
🪪 How adding badges to PRs can increase your team’s productivity
Markdown badges are a great way to convey important information such as CI/CD build or test status in a very visual and concise format on README files and Pull Requests.
While I have always thought badges are a great idea and make a very interesting feature, I have rarely used them on my personal projects. In this article, Christopher Saez shares a few examples of how adding badges to Pull Requests can help increase your team’s productivity.
📦 How to edit Swift Packages from the command line
Swift Package Manager has been around for quite some time and by now everyone is familiar with the Package.swift syntax and how to modify it to perform actions such as creating targets or adding dependencies.
But did you know you can perform a lot of these actions directly from the command line? Andrea Scuderi tells you all about it in his latest article!