I succeed to publish my first Electron App on Apple Store
Tags: electron, apple, react
Published: 2020-06-06 15:35:19

---
title: I succeed to publish my first Electron App on Apple Store
published: true
description: The story of the deployment of an Electron app in the Apple Store
tags: electron,apple,react
//cover_image: https://znote.lagrede.fr/assets/img/banner/banner-light.jpg
---

# My final result 😁
After months of work, I am happy to contribute to the community by sharing my first Electron application [Znote](https://znote.lagrede.fr) published on the Mac App Store.
![img](https://znote.lagrede.fr/assets/custom/img/screenshot-1.png)


# Motivation
In this article I would like to share my journey to publish an **Electron application on the Mac App Store** and also thank the **Dev.to community** for helping me along this path.


At the beginning, I just wanted to encrypt my personal sensitive notes. Effectively, I have the bad habit (like many) of storing my passwords, accounts access and pieces of code in local notes or/and usb key.😅
After a while of web search, I was really disappointed to find only incomplete or paying editors for this simple function of note encryption. So I decided to create ~~another~~ my own free editor with powerful features that I want as developer!
In this context I started to build [Znote](https://znote.lagrede.fr) with Electron and React.


# Set yourself a limit and don't exceed it
Here my first advice, probably obvious for many of you. After starting to use my app all my workdays, my goal finally changed; I wanted to use znote as my primary notepad. To achieve that, I focused to add more and more features like code highlight, multi-notes support, auto saved drafts... (in fact, until I was happy to use it). It just should be an encryption feature but actually it looks more like a real software. It's not a bad thing but I wasn't prepared to invest so much free time. 

# Don't underestimated the deployment
It's probably my biggest mistake! When I thought my development was finished and ready to be published on the App Store, I quickly realized the enormous amount of work that remained to be done before publishing.

**Here are some issues I encountered:**
* [How to use React with electron](https://dev.to/tesh254/how-to-build-electron-apps-with-react-36b) (and how to optimize build)
* [How to generate Apple certificate](https://dev.to/varisbhalala/publishing-electron-app-to-mac-app-store-2oci)
* [How to notarize your app](https://dev.to/pimterry/notarizing-your-electron-app-4gih) and write your own resign sh script to your Electron version
* How I couldn't build Windows and Mac app in the same platform
* But also How sandbox your application and add specific code like [MAS Bookmarks](https://developer.apple.com/library/archive/documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxInDepth/AppSandboxInDepth.html) and [permissions](https://stackoverflow.com/questions/45902607/check-user-permissions-in-electron-on-mac)
* Why I had to declare a procedure to [ANSSI]( https://www.ssi.gouv.fr/entreprise/reglementation/controle-reglementaire-sur-la-cryptographie/) to make my application legal in France
* Create a dedicated website for app and a [CGU page](https://znote.lagrede.fr/cgu.html) (you can take inspiration from mine if you wish)
* Discuss with Apple developers during the validation process to be compliant with OSX [guidelines](https://developer.apple.com/design/human-interface-guidelines/macos/overview/visual-index/)
And so much more things...

**I plan to start a series of tutorials soon to explain each point.**

# To Conclude: Give it a try
I'm really happy to achieve this Apple publication but it's just the beginning. I still have lots of things to do. (New feature ideas, Windows store is ongoing...)
I intend to continue providing this application for free. If you like my work, give me your opinion on [Apple store](https://apps.apple.com/us/app/znote/id1512925495?l=fr&ls=1) or directly on [Github](https://github.com/alagrede/znote-app/) with a star. 
If you found an issue you can report it to the [issues](https://github.com/alagrede/znote-app/issues) section. 
And finally, if you want to participate to vote on the next features, I will be happy to received your mail via the [homepage of the website](https://znote.lagrede.fr).

# EDIT*
I put here the first part of tutorials: **how to build an electron application**
[create-your-first-real-electron-application](https://dev.to/alagrede/create-your-first-real-electron-application-5di7)