Notarizing & Publishing a Tauri App to Mac App Store
3 min read
First of all: I’m one of those people who doesn’t particularly like the Mac App Store, nor all this signing for Windows etc. Tauri makes it very easy to sign apps and when you combine that with GitHub Actions, it’s even easier to deploy to all platforms but you have of course first go through the mess of getting your developer certificates.
Please don’t get me wrong: I see signing and verification as very useful and adding some extra security to end-users, only the way to buy a valid certificate has always been expensive, but above all time-consuming.
For Windows, this seems to get even worse later this year when you have to use hardware tokens.
Although there are first cloud solution providers who “help out” here, this is of course reflected in the price. I think corporate developers are more likely to explain to their customers why the company name no longer appears in the notification window than going through this painful procedure. Citizen developers will most likely have no business case. We need some “let’s-encyrpt”-ish approach!
Luckily Apple makes the process of getting certificates comparably a bit easier.
Compiling a tauri.app on macOS
GitHub actions are quite expensive for macOS, and make little sense if you own a Mac, especially since you can also compile problems for x86 on a Silicon Mac, and also create a universal binary:
cargo tauri build --target universal-apple-darwin
I use GitHub actions to compile for Linux and windows, but for macOS, I use my macs.
Signing, wrapping and notarizing a tauri.app
As a developer today you have to master more and more tools, design, JS, HTML, CSS, programming languages for the front and back end, installation programs, servers, etc. Accordingly, I am happy to use tools (even if they cost a few pennies) that give you a simplified life. You don’t have to and shouldn’t understand everything.
I’ve had good experiences with App Wrapper from Ohanaware Inc., for publishing to the Mac App Store for years, so I didn’t think twice about it but used this tool for my Tauri app.
Even though App Wrapper got an update just a few months ago, it appears to be an Intel-only version, but it still gets the job done. I just like its “fire and forget” approach. As deploying to the Mac App Store is more an experiment to me, than anything else, I just don’t want to get lost in the technical depths, because I have enough more interesting topics on my plate.
App Wrapper is quite straightforward, I’ve used the following settings from csv2excel:
The above setting is of paramount importance, as in a tauri app the frontend has to communicate with the backend.
App Sandbox Files & Folders
As csv2excel is using dialogues for open a file and for saving the export file, I needed to set those entitlements as well.
Wrapping and Packing
And that’s pretty much all I had to do. Choose your compiled app, wrap and pack it, and you are ready to send it to the Mac App Store. Either with App Wrapper or by using Apple Transporter to upload the generated pkg file.
Did you find this article valuable?
Support Jeannot Muller by becoming a sponsor. Any amount is appreciated!