Submitting your app
Download listing folder on the Store submission page gives you a zip laid out exactly the way fastlane reads it. You upload it yourself, from your own developer account.
Why you upload it and not us
Section titled “Why you upload it and not us”The practical effect is small: one command from your own machine instead of a button here. What it protects is the thing that gets template-built apps rejected — the app must be yours: your developer account, your name on the listing, your support URL.
What is in the zip
Section titled “What is in the zip”For the App Store:
metadata/en-US/name.txt, subtitle.txt, description.txt, keywords.txt, …metadata/copyright.txt, primary_category.txtmetadata/review_information/first_name.txt, demo_user.txt, demo_password.txt, notes.txtscreenshots/en-US/ ← your generated screenshots, numbered in orderreview-notes.txt ← the same notes, loose, for pasting by handREADME.txtFor Google Play:
metadata/android/en-US/title.txt, short_description.txt, full_description.txtmetadata/android/en-US/images/ ← generated screenshots, plus your icon and feature graphicapp-access.txt ← the test account, to paste into the consoleREADME.txtEach file’s name matches the field name in the console, so you can copy them in by hand instead if you prefer.
Screenshots are included if you have generated them. If you have not, the folder holds a README listing the exact dimensions each store requires, so you can drop your own in before uploading.
Fields you left blank have no file
Section titled “Fields you left blank have no file”That is deliberate. deliver reads a present-but-empty file as “clear this
field”, so shipping an empty subtitle.txt would erase a subtitle you had
already set in App Store Connect. An absent file leaves the existing value alone.
Uploading to the App Store
Section titled “Uploading to the App Store”brew install fastlane
cd <the unzipped folder>fastlane deliver init # asks for your Apple ID and bundle identifierfastlane deliver --verify_only # shows what it would send, sends nothingfastlane deliver # uploads--verify_only is worth running first every time. It catches a rejected field
in seconds rather than after an upload.
Uploading to Google Play
Section titled “Uploading to Google Play”You need a Play Console service-account key first — Play Console → Setup → API access → create a service account, then download its JSON.
cd <the unzipped folder>fastlane supply \ --package_name com.example.app \ --json_key /path/to/key.json \ --skip_upload_apk --skip_upload_aabThe two --skip_upload flags send the listing only. Upload the bundle itself
separately — and note that it must be signed with your own upload key first, which
Memberside does not yet do. See
Android signing.
The reviewer’s account
Section titled “The reviewer’s account”The demo password you entered is decrypted into
metadata/review_information/demo_password.txt (App Store) or app-access.txt
(Play). That is the one place it leaves Memberside.
Play has no listing field for it, so app-access.txt sits outside the
metadata/ tree — paste it into Play Console under App content → App access.
When it does not work
Section titled “When it does not work”| Symptom | Cause | Fix |
|---|---|---|
deliver complains about missing screenshots | None have been generated, and none were added by hand | Take screenshots, or add your own at the sizes the folder’s README lists |
deliver init overwrites your metadata | It pulls the current listing down from App Store Connect | Run it in an empty folder first, then copy your files over |
| Play rejects the bundle, not the listing | The .aab is debug-signed | Sign it with your own upload key — see Android signing |
| A screenshot is rejected by Play | Play caps the long side at twice the short side | Frame the screen on a shorter canvas rather than cropping it |
| A field uploads empty | Its file was empty rather than absent | Do not create files for fields you want left alone |
| The download fails | The export is built when you click | Try again; if it persists, get in touch |
- Store readiness — run it once more before you upload
- Store screenshots
- Preparing your store listing
- iOS builds