S
Salon Booking Platform Publishing guide
Updated 23 July 2026
Getting the app on the stores

How the app goes from finished to installable.

The build is done and every form answer is written out for you. What is left is opening the two accounts, uploading, and pasting. This is the whole route, in order.

Before anything else

Do not submit with the sample data still in.

The app currently opens on a demo salon with sample services and sample prices. To a reviewer that is what an unfinished app looks like, and Apple reject it under their app completeness rule. It costs you a week and you have to start the review again. Put your real salon in the panel first, and make sure the file you upload was built for your salon.

And know this now

Android works from any computer. iPhone needs a Mac.

That is Apple's rule and not a choice in how this was built. Apple only allow an iPhone app to be built and uploaded from macOS. Your options if you do not have one are at the bottom of this page, and the first one is easy.

What it costs and how long it takes

$25
Google Play, one time
Paid once, never again. Account verification is usually a day or two, longer if they ask for business documents.
$99
Apple, every year
Renews annually. Business verification is slower than Google's and often takes several days, so start this one first.

The waiting is in the accounts, not the app

Apple can take over a week to verify a business, and they sometimes ask for a registration document or a D-U-N-S number. The app itself is reviewed in about a day on Google and one to three days on Apple. So the sooner both accounts exist, the sooner this is live.

Part one, Google Play

  1. Create the account

    Go to play.google.com/console and sign up as an organisation, not an individual. Use the salon's legal name. Pay the $25.

    Google will ask for a business address, a contact phone and email, and sometimes a document proving the business exists. Answer it as soon as it arrives. Nothing can be published until it clears.

  2. Create the app

    Press Create app and answer four questions: your salon name, Arabic as the default language, App rather than Game, and Free rather than Paid.

  3. Upload the file, to testing first

    Go to Release, then Testing, then Internal testing. Not Production yet. Upload the .aab file from the folder I sent you.

    Internal testing gives you a link that installs the app on your own phone. Use it for real for a day before anyone else sees it. Book something, cancel it, check the times are right. Finding a problem here is free. Finding it after a review costs a week.

    When Google asks about Play App Signing, accept it. It is the default and it is the safer option, because it means the key that actually signs what customers install is held by Google and cannot be lost.

  4. Add the new fingerprints to Firebase

    Do this straight after the first upload. Skip it and sign-in will work perfectly in your own testing and be broken for every real customer. It is the single most common thing that goes wrong at this point, and it looks like a bug in the app when it is not.

    • In the Play Console: Release, Setup, App signing
    • You will see an app signing certificate with an SHA-1 and an SHA-256
    • Copy both and send them to me, and I will add them in a minute

    Why it happens: until the upload, the app was signed with the key in your folder. From the moment Google accepts it, what customers install is signed with Google's key instead, and the sign-in service refuses an app signed by a key it does not know.

  5. Fill in the forms

    Google will not publish until every one of these is green. Every answer is written out in the LISTING.md file in your folder, ready to paste.

    • Store listing: name, descriptions, icon, screenshots
    • Privacy policy: the address is in the file
    • Ads: No
    • App access: restricted, with the test phone number and code
    • Content rating: the answer to every question is No, and you get Everyone
    • Data safety: the exact table is in the file
    • Account deletion URL: the address is in the file

    App access is the one people get wrong. The app is behind a phone sign-in, so a reviewer cannot get in. Answering "all functionality is available" is untrue and gets the review sent straight back. I will set up a test number that does not send a real SMS and give you the code to paste.

  6. Go to production

    When you are happy with the test build, promote that same build to Production. Do not build a new one, promote the one you actually used. Review is usually a day, up to three for a brand new account.

Part two, Apple App Store

  1. Create the account

    Go to developer.apple.com/programs and enrol as an organisation. You will need the salon's legal name and, for a company, a D-U-N-S number. Apple issue those free but it takes a few days, so request it before anything else. Pay the $99.

    Apple check the business is real and that you are allowed to sign for it, and they often phone. Take the call, or this stalls for a week.

  2. Create the app record

    In App Store Connect: My Apps, the plus button, New App. iOS, your salon name, Arabic as the primary language.

    Tell me before you do this if you want your own app ID

    The app's permanent identity is currently net.themeknock.salon.demo. It works, but it has my agency name and the word demo in it, and it cannot be changed after the first upload. If you would rather it read as yours, say so and I will rebuild with something like com.yoursalon.booking first. Nobody ever sees it, but it is permanent, so it is worth thirty seconds of thought.

  3. Set up your Mac. One time, mostly downloading

    Allow an evening, almost all of it waiting for Xcode to come down.

    • Xcode from the Mac App Store, around 10GB. Open it once and accept the licence.
    • Flutter, which is what the app is written in, plus CocoaPods. Three lines pasted into Terminal.
    • The code, one command to copy it down from GitHub. Tell me your GitHub account and I will give you access.
    • Your Apple account inside Xcode, so it can create the signing certificates by itself. You do not have to understand certificates, but Xcode cannot make them without this.

    Every command, in the order you run them, is in PUBLISHING.md in the folder I sent. It is written to be pasted, not understood.

  4. Build the app

    Message me before you run the build

    There is one switch on the server that has to change at the same moment, so that sign-in sends a real text message instead of the demo code the web preview accepts. It takes a minute at my end. If you build before that, the app will look right and nobody will be able to sign in.

    Then it is one command, ten to fifteen minutes the first time and a couple after that. If it stops on anything about signing, there is a four click fix in Xcode and the file walks through it.

  5. Upload it

    The build leaves a file. Double click it, Xcode opens its Organizer, and then it is Distribute App and Next six times. Leave every checkbox as it comes.

    Five to ten minutes to upload, then Apple process it for another ten to thirty and email you if anything is wrong. Until that email or until it shows up in TestFlight it is not there yet, so do not upload again thinking it failed.

  6. Test it on your own phone first

    The build lands in TestFlight. Install the TestFlight app on your iPhone, sign in with the same Apple ID, and your app is in it.

    Use it properly for a day. Book something, cancel it, check the times and the Arabic. Anything you find here costs you ten minutes. The same thing found by a reviewer costs you a week.

  7. Fill in the listing

    Name, subtitle, description and keywords are all written out for you. Screenshots need to be from a 6.9 inch iPhone, at least three, and the file says which screens to shoot. The icon comes from the app itself, so there is nothing to upload.

    The privacy answers are the same ones you gave Google, in Apple's wording. Age rating is a questionnaire where everything is No, and you get 4+.

  8. The review notes, and this one matters

    Apple's reviewer has to be able to use the app. Sign-in is by phone number and they will not use their own. A booking app with no test login gets rejected, reliably. The notes are written for you in the folder. Paste them into App Review Information with the test number and code filled in.

  9. Submit

    Pick the TestFlight build you tested and submit it. One to three days, normally. Apple read an app more closely than Google do and sometimes ask a question. Answer it in the same screen and it carries on.

If the Mac ever becomes a problem

There is no way to build or upload an iPhone app without one, and that is Apple's rule rather than a choice in how this was built.

If yours is out of action, or the setup stalls somewhere, invite me into App Store Connect under Users and Access with the App Manager role and I will do the iPhone uploads from mine. You still own the account, the app and everything in it, and you can remove the access at any time.

Android does not have this problem. The whole Play side is a browser and a file.

After it is live

Updates A new build and another short review, so changes reach customers in a day or two rather than instantly.
Version numbers The build number has to go up on every single upload. Both stores refuse one that reuses a number.
Apple's fee $99 renews yearly, and the app comes off the store if it lapses. Put it in a calendar.
Google's yearly rule change Play raises the Android version it requires once a year. When it does, the app has to be rebuilt and reuploaded or it stops accepting updates.