How do you do that exactly?
Philipp Berner

Hi Philipp! I am one of the engineers who helped build this pipeline. We do not use TestFlight — we use Apple’s Enterprise program. This is what happens:

  1. Jenkins builds all the necessary binaries (we have multiple versions of the iOS app, for different environments).
  2. We upload these binaries to our storage and tell a tiny service, built on, that there’s a new version of the app. This service is called DimSum.
  3. The internal build of Medium’s iOS app, when launched, checks DimSum and compares versions. If there is a new version available, we download the Enterprise manifest file, that replaces the current binary. These upgrades are optional.

DimSum has an iOS client as well. It serves as a directory of all the apps (current and old version, useful for debugging user issues), prototypes and internal tools.

Feel free to respond to this post if you have more questions!

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.