Versioning in iOS/macOS Development

Everything you need to know to tackle the versioning problem while developing software for iOS or macOS

Nikita Lazarev-Zubov
8 min readJan 16, 2024

To be frank, I consider versioning of iOS and macOS applications one of the best and obvious systems in the field: How different builds and releases are identified is intuitive and simple. However, throughout my more-than-six-years career I’ve met enough people who disagreed with this opinion. If you’re one of those who struggles through the versioning system that Apple imposed on us, stay tuned; maybe you’ll change your mind. Behold, this is my “all you wanted to know about versioning in iOS and macOS* development.”

*Everything said here also applies to iPadOS, watchOS, tvOS, and visionOS, but for brevity’s sake, I don’t want to clutter up the text by mentioning all Apple platforms every single time.

As Apple put it in one of their archived docs, “version and the build numbers work together to uniquely identify a particular App Store submission for an app.” But what exactly does it mean? Let’s look at the terms separately and then figure out how they work together.

What is Build

According to the docs, it’s a unique string identifying a build. What this really means is that each time you upload a build…

--

--

Nikita Lazarev-Zubov

Swift and general programming topics, Agile software development, soft skills