How to Release a macOS app?

Margaryta Chepiga
Tumiya
Published in
3 min readDec 30, 2019

Let’s say you have a macOS app. Let’s say you want to release it. But for whatever reason, you can’t/don’t want to release it on Apple Store.

The bottom line is, it has to be released and it has to be released outside of Apple Store. Cool? Now, why would anyone want to release their app? So people can use it, right? Right.

What are your options?

Your options depend on:

  • Your knowledge base
  • Whether it’s a personal/internal/external app
  • On the stack that your app is already using

As you can see there are a lot variables in all of this.

Cool Margaret 😒 What do I do now?

I can’t tell you all possible ways that would suit YOUR case perfectly, sorry.

But, I can share with you options I considered for myself, and why did I decide to release my app on gcloud.

What was important for me:

  • Easy access to the app executable for the user (like a link)
  • I can easily connect it to my stack (Bitrise & Gitlab) so that the release is a part of the CD pipeline

What options I discovered?

  • Release on Gitlab
  • Release on Github
  • Release on Cloud bucket

Not only I considered these options, but I actually tried each of them. Let me know if you want me to write about each of them. Meanwhile let’s discuss shorty all of them.

Release on GitLab

Release on Gitlab is one of the simplest things you can do. The problem is though, I didn’t find a way to release only the app executable. The entire source was released, which may be good for some cases, but it didn’t suit mine.

Release on Github

WF-Home (Wiljay Flores) found a showed me another way to release an app. Turns out it’s very simple to do, since Bitrise already has Deploy to Github step. This would work perfectly if I wanted my app to be open sourced. In my case, I only want certain people to have access to download the app, therefore, I would have to create a private repo on Github. Which is not an issue, until you start thinking about your audience and their permissions. You see, on Github, your user would have to be registered in order for you to give them permissions. Which makes user experience be quite questionable, if your audience are not developers.

Release on Cloud

Well, Margaret, won’t you have the same issue on Cloud bucket? You would also need to register your users and give them appropriate permissions.

Yes. Unless, they are already registered and are users of the Cloud Provider.

I decided to go with GCP. But it doesn’t have to be GCP, potentially it can be any other cloud provider you are using. If you are using AWS, it’s even better! Bitrise has already implemented and offered AWS upload steps. Which makes your life even easier 😉

Using a cloud provider you can easily upload your app archive to your cloud bucket, set user permissions, and use the installation link as part of your Continuous Delivery pipeline.

At the end, I want to say that in my opinion, there is no good or bad way.

There is a way that works or doesn’t work for you. Your goal is to research on the ways that exist and then find the one perfect for you.

Good luck!

--

--

Margaryta Chepiga
Tumiya
Writer for

Software Developer, known as overexcited girl who is passionate about technology