Passepartout

Your go-to app for VPN and privacy.

Deploying to the App Store: The cost you didn't expect

Passepartout has had a solid and unique CI/CD workflow for years, from Git commits straight to the App Store. For iPhone, iPad, Mac, and Apple TV.

I dare to say, automated releases are hardly (if ever) seen in open-source *OS apps.

fastlane, created by Felix Krause, and GitHub Actions helped me immensely with the fast turnaround of Passepartout releases. In the era of LLMs, you have no excuses to waste time for not using these incredible tools.

Let me show why CI/CD is one of the most important and underestimated aspects of making indie software, or software in general.

It’s just an app, right?

Many people are confident that The Idea is the most valuable aspect of a product.

Unfortunately, if you developed an app for the App Store, at any level of complexity, you know how exhausting the whole process is. There is so much more than “writing the code”, which is nothing trivial to start with.

The App Store requirements will beat you

Choosing the icons. Crafting the screenshots. Writing the metadata. Picking the categories. Localizations. The business model. In-app purchases. Sorting out the legal aspects. The App Review process. And so on.

Wait, have I mentioned the codesigning process? Development, Ad-Hoc, Distribution. Multiple platforms. Debug and Release.

Especially at the beginning, it’s overwhelming and discouraging. We’ve all been there.

The 15-30% cut that Apple takes from your revenue is almost a marginal cost compared to all this.

The fear of change

Here’s a very subtle side-effect of the above: once your tedious setup finally works, you might refrain from changing.

Some relatable examples:

  • If I change the UI, I will have to change the screenshots for X languages and Y platforms.
  • If I alter some inner logic, I will get a rejection from Apple.
  • If I introduce a regression, I will get bad reviews.
  • Even if I have a hotfix in time, Apple will push my release back for silly reasons.

It goes without saying, this is an atrocious outcome for your product. If you work alone with no one to delegate these annoyances to, you risk falling into the ultimate recipe for failure.

Stagnation is the hidden cost of expensive deployment.

You MUST learn to automate

The key to keeping focus on the product is automation. It’s boring at first, but in the long run, it’s your best bet against the inevitable frustration of using App Store Connect.

  • If you find yourself doing 3+ times the same task, automate it.
  • If a task doesn’t need constant interaction, automate it.
  • If a task is sensitive to human mistakes, automate it.

Observe your routine and you will soon realize how many hours you are wasting on dumb tasks, time you could have spent on useful features for your customers.

Continuous integration is underused!

After 15 years working with Apple devices, I can still confirm this trend: the vast majority of iOS developers don’t know jack about continuous integration. Which is crazy because fastlane has been around since 2014. GitHub Actions has a shorter history, but there have always been alternatives: Travis-CI, GitLab, Circle-CI, and whatnot.

In the next posts, I’ll show you how I used fastlane and GitHub Actions to automate the release of Passepartout for iOS, macOS, and tvOS at once.

Stay in touch.

Comment on LinkedIn

Back to index

Related posts