Invite-only.
← Templates
Build· Mixed

Launch your iPhone app on the App Store

10-step playbook from 'I have a build on my Mac' to 'users are downloading from search.' Real Apple gates, real gotchas, real agent prompts.

Open in DockSolo founders + first-time iOS shippers

Submitting an iOS app to the App Store is mostly fiddly bookkeeping: enrolling in the right program, getting the bundle identifier right, taking the right screenshots, surviving App Review. This playbook walks the 10 gates first-timers always miss, with the official Apple links + the agent prompts that automate the parts agents can do (drafting App Store copy from the README, generating screenshot variants, writing the privacy policy from the data-collection inventory).

Outcome

Your iOS app live on the App Store with a working metadata page, App Tracking Transparency configured, and TestFlight builds flowing — so you can ship updates weekly without re-learning the gates.

Time1-2 weeks (most of it Apple's review queue)DifficultyintermediateForSolo founders + small teams shipping their first iOS app.
The template · 10 steps

Top to bottom. Each step has tasks, pointers, gotchas.

Enroll in the Apple Developer Program

30 min sign-up, 24-48 hr Apple verification

Apple charges $99/year for the right to publish to the App Store. The enrollment is the first hard gate: identity verification can take 24-48 hours, longer for entities (LLC / Inc) than individuals. Start this before you write a line of code if you can — the wait blocks every later step.

Tasks
  • Decide: enroll as Individual or Organization (Org needs a D-U-N-S number, takes longer)
  • Pay the $99 USD annual fee
  • Verify your identity (email + phone + government ID for orgs)
  • Wait for the welcome email confirming Developer Program membership
  • Sign in to App Store Connect to confirm membership is active
Gotchas
  • Organization enrollment requires a legal entity (LLC, Inc, etc.). If you're solo, Individual is faster.
  • The $99 charge fails silently in some regions. Watch for a failed-payment email and retry with a different card.
  • Identity verification has been known to take a week if Apple's queue is backed up. Build slack into your launch date.

Create the app record in App Store Connect

15 min

Before Xcode can upload a build, App Store Connect needs to know the app exists. This step is where you commit to the bundle identifier (reverse-DNS, e.g. com.yourcompany.appname) — it's permanent. Wrong bundle ID + need to change it = create a new app record + new TestFlight chain.

Tasks
  • Sign in to App Store Connect → Apps → New App
  • Pick the bundle identifier (com.yourcompany.appname — must match Xcode's PRODUCT_BUNDLE_IDENTIFIER)
  • Pick a SKU (internal code; you choose it)
  • Pick the primary language (English (U.S.) is most common)
  • Pick the user access level (Full vs Limited)
Gotchas
  • The bundle identifier is PERMANENT. If you change it later, you have to create a new App Store Connect record.
  • The SKU is internal but must be unique across your developer account forever.

Write the App Store metadata (name, subtitle, description, keywords)

2-4 hr to draft, 1-2 hr to refine

App Store search is keyword-driven and brutal. The app name (30 char max) + subtitle (30 char max) + description (4000 char max) + 100 chars of keywords are your ranking surface. Names are mostly fixed at launch — pick deliberately.

Tasks
  • Draft the app name (max 30 chars, no 'free', no 'app', no copyrighted terms)
  • Draft the subtitle (max 30 chars, complement the name)
  • Draft the description (max 4000 chars, lead with the value)
  • Pick 100 chars of keywords (comma-separated, no spaces, no plurals — Apple stems automatically)
  • Draft the promotional text (max 170 chars, can be updated without resubmission)
  • Set your support URL + privacy policy URL (both required at submission)
Gotchas
  • The name + subtitle are LOCKED for the lifetime of the app version after submission. Plan to live with them.
  • Keywords are NOT visible to users but ARE the search ranking signal. Don't waste 100 chars on the app name + obvious words.
  • Do NOT use competitor names in keywords — Apple rejects on review.
Agent prompt for this step
Draft App Store copy for this app.

Read the README + the public landing page. Output:

1. App name (30 chars max, no 'free' / 'app' / copyright terms)
2. Subtitle (30 chars max, complement the name without repeating words)
3. Description (4000 chars max, lead with the value prop, then features as bullets)
4. Keywords (100 chars max, comma-separated, no spaces, no plurals — Apple stems automatically)
5. Promotional text (170 chars max, hooky and updateable without resubmission)

Constraints: no marketing fluff. Write like a user describing the app to a friend. Focus on the one thing the app does best.

Return as a Brief surface section so the user can edit before pasting into App Store Connect.

Design the app icon, screenshots, and preview video

1-2 days

The icon is the single biggest install-rate lever. Screenshots are the second. Get them right or you'll burn ad spend driving traffic to a dead page. Apple requires icons at 1024x1024 (no transparency) and screenshots at every device size you support — typically iPhone 6.7" + iPhone 6.5" + iPad 12.9" if you support iPad.

Tasks
  • Design the app icon at 1024x1024 PNG, no alpha channel, no rounded corners (Apple rounds them)
  • Take 5-10 screenshots at iPhone 6.7" (1290x2796) — the hero size
  • Take screenshots at iPhone 6.5" (1242x2688) — the secondary required size
  • If iPad-supported: screenshots at iPad 12.9" (2048x2732)
  • Optional but recommended: 15-30 second App Preview video showing core flow
  • Run all assets through Apple's icon validator to catch the alpha-channel rejection
Gotchas
  • PNGs with an alpha channel get auto-rejected on submission. Run them through `sips -s format png --resampleHeightWidthMax 1024 icon.png` or similar.
  • Screenshot dimensions are EXACT. Off by 1 pixel = rejection.
  • App Preview video framerate must be 30fps. Most screen recordings default to 60fps and need re-encoding.

Write the privacy policy + configure App Tracking Transparency

3-6 hr (most of it auditing what your app actually collects)

Apple requires a published privacy policy URL + a complete data-collection disclosure (App Privacy Details) for every app. If your app fingerprints, tracks, or shares user data across apps, you also need an ATT prompt. The disclosure is rejected if it under-claims what you actually collect.

Tasks
  • Audit every API call your app makes (analytics, crash reports, ads, your own backend) and list what it sends
  • Write a privacy policy and host it at a public URL (your domain + /privacy works)
  • Fill out App Privacy Details in App Store Connect — match the policy exactly
  • If you collect cross-app tracking data: implement the ATT prompt + write the prompt copy
  • Test the ATT prompt on a real device (iOS 14.5+ required)
Gotchas
  • App Privacy Details under-claiming is a top-5 rejection reason. Check your analytics SDK's docs for what they actually send.
  • ATT is required if you fingerprint OR if any third-party SDK in your app does. Read every SDK's docs.
  • The privacy policy URL must be publicly reachable from any country, including China. CDN it if your origin is region-locked.
Agent prompt for this step
Audit this codebase for every external data flow.

For each:
1. What data is collected (e.g. "user email", "device IDFV", "purchase history")
2. Where it's sent (e.g. "Mixpanel", "Stripe", "our own backend")
3. Why it's collected (e.g. "analytics", "billing", "crash reports")
4. Whether it's linked to user identity

Output the audit as a table. Then draft a privacy policy that matches the audit (no marketing voice — it's a legal document, but readable). Then draft the App Privacy Details payload that matches.

Set up TestFlight and ship internal builds

1 day to set up, ongoing thereafter

TestFlight is your last line of defence before App Review. Internal testing (your team) doesn't need beta App Review approval. External testing (anyone else) does — it's lighter than full App Review but still 24-48 hr. Use both: internal for day-of fixes, external for the broader smoke test before submission.

Tasks
  • In Xcode: Archive → Distribute App → App Store Connect → Upload
  • In App Store Connect → TestFlight: wait for 'Processing' to finish (5-30 min)
  • Add yourself + team as Internal Testers (no review needed)
  • Add 5-20 external testers as External Testers (requires beta App Review on first build)
  • Write the Test Information notes (what's new, what to test) — required for external testers
  • Send out the TestFlight invite link
Gotchas
  • Beta App Review on the FIRST external build can take 48 hr. Subsequent builds in the same version usually clear in <24 hr.
  • TestFlight builds expire 90 days after upload. Plan to ship a new build every 60-80 days during long testing cycles.

Submit for App Review and prepare for rejection

1 hr to submit, 1-7 days waiting, repeat on rejection

App Review takes 24-72 hr typical, sometimes 7+ days during peak (early December, late June). First-time submissions are rejected ~40% of the time. Read every line of the rejection email — it cites the specific App Review Guideline you violated.

Tasks
  • In App Store Connect: select the build, fill in Version Information
  • Fill in App Review Information: notes for the reviewer + demo account credentials if your app needs login
  • Pick the release type: Manually release / Automatically release / Release on a date
  • Click Submit for Review
  • On rejection: read the cited Guideline, fix the issue, resubmit (no penalty for resubmits)
  • On approval: monitor the App Store Connect dashboard until the listing goes live
Gotchas
  • If your app needs a login, demo account credentials are MANDATORY in the Review Notes. Reviewers don't sign up.
  • First rejection is normal. Read the cited Guideline, don't argue, fix, resubmit.
  • If you're rejected for 'Guideline 5.1.1 — Privacy', it usually means your App Privacy Details disagree with what your app actually does.

Configure pricing, in-app purchases, and subscriptions

2-4 hr

Apple takes 15-30% of every transaction. The 15% rate applies to subscribers in their second+ year + small businesses (<$1M/year revenue) on the Small Business Program. If you charge anything, set this up BEFORE you submit — the in-app purchase products themselves have to be reviewed alongside the app.

Tasks
  • Decide: free, paid up-front, free with IAP, or subscription
  • If paid: set the price tier in App Store Connect (Apple's tiered pricing matrix)
  • If IAP: create products in App Store Connect → Features → In-App Purchases (reviewable separately)
  • If subscriptions: create the subscription group + tiers + introductory offers
  • If you qualify: enroll in the Apple Small Business Program (drops commission to 15%)
  • Submit IAP products for review alongside the app
Gotchas
  • IAP products need their own approval. They reject for icon issues, copy issues, and pricing tier mismatches.
  • Subscriptions require a screen in-app explaining what the subscription is + what it costs + the renewal terms. Apple checks for this on review.
  • Switching from free to paid post-launch is fine. Switching from paid to free permanently revokes refund eligibility for past buyers — handle carefully.

Plan launch day: press kit, Product Hunt, social

3-7 days of prep before launch day

Day-of distribution comes from existing channels: your network, Product Hunt, X / Bluesky, the indie iOS community on Reddit. The App Store doesn't deliver organic installs to a brand new app — you bring the traffic, and the App Store converts it.

Tasks
  • Build a 1-page press kit: app description, screenshots, founder quote, contact email, app icon at 1024x1024
  • Schedule the Product Hunt launch (12:01am PT on launch day)
  • Pre-write the launch tweet thread (5-7 tweets, screenshots interleaved)
  • Pre-write the launch Reddit post for r/iosdev or r/SideProject (no spam — community-friendly)
  • Email 20-50 closest contacts the day before with a TestFlight link or a 'launching tomorrow' note
  • Set up an analytics dashboard for day-of (App Store Connect Analytics + your in-app analytics)
Gotchas
  • Product Hunt launches START at 12:01am Pacific. Schedule yours and recruit 5-10 people to upvote in the first hour — that's the algorithm signal.
  • Don't submit to Product Hunt before launch day. They auto-merge duplicate submissions and the earlier one wins.
  • App Store Connect Analytics has a 24-72 hr lag. Trust your in-app analytics for real-time launch-day data.
Agent prompt for this step
Draft the launch-day distribution copy for this app.

Output:
1. A 1-page press kit in Markdown
2. A 5-7 tweet launch thread, screenshot caption per tweet
3. A 200-word Product Hunt tagline + first comment
4. A 300-word Reddit r/SideProject post (community-friendly tone, no marketing fluff)
5. A pre-launch email to send 20-50 close contacts the day before

Constraints: no superlatives, no "revolutionary", no exclamation marks. Lead with what the app does, then who it's for.

Post-launch: monitor reviews, ratings, crashes, and ship updates

Ongoing, 5-10 hr/week for the first month

Launch day is 1% of the work. The next 4 weeks are: read every review, fix the top 3 crash sources, ship a 1.0.1 within 7-14 days. Ratings + reviews compound — a 4.5+ star app at week 4 ranks for keywords a 3-star app never sees.

Tasks
  • Read every review on the day it's posted, respond publicly to anything actionable
  • Watch crash reports in Xcode Organizer or Sentry / Crashlytics — fix the top 3 within 7 days
  • Ship a 1.0.1 in the first 14 days addressing the most common review complaints
  • If ratings drift below 4.0, prompt happy users in-app at the right moment (after a successful flow, not on launch)
  • Track install → activation → retention as a funnel; iterate on the leakiest step
Gotchas
  • iOS only counts review-prompt SHOWS at most 3x per user per 365 days. Don't waste them.
  • 1-star reviews from confused users are easier to fix than 1-star reviews from competitors. Read carefully.
  • Ratings reset on major version upgrades (1.x → 2.x). Skip the major bump if you're at 4.5+ stars and the change is incremental.
Hand the template to your agent

Workspace-wide agent prompt.

Paste this into your agent's permanent system prompt so the agent reads, writes, and maintains the template's surfaces as you work through the steps.

Agent system prompt
You are an agent on the "Launch iPhone app on the App Store" playbook workspace at your-org/launch-iphone-app-on-the-app-store.

Your role: maintain the four surfaces (Steps, Pointers, Brief, Submission log) as the user works through the 10-step playbook.

Cadence:
- When the user marks a step Done, append a line to the Brief summarising what shipped at that gate.
- When App Review rejects, capture the rejection reason as a row in Submission log + draft a response in the Brief.
- When the user adds a new pointer (link) to any step, mirror it into the Pointers table for cross-referencing.

First MCP tool calls:
1. list_surfaces(workspace_slug="launch-iphone-app-on-the-app-store")
2. list_rows(workspace_slug="launch-iphone-app-on-the-app-store", surface_slug="steps")
3. get_doc(workspace_slug="launch-iphone-app-on-the-app-store", surface_slug="brief")

Do NOT modify the canonical step titles in the Steps table — those are the gates from the playbook. You can append substeps as new rows beneath them.
FAQ

Common questions on this template.

How long does it actually take to launch on the App Store?
From 'I have a working build' to 'live in the App Store': 1-2 weeks if everything goes smoothly. The wall-clock breakdown is roughly 1 day on Apple Developer Program enrollment (24-48 hr Apple wait), 2-3 days on metadata + screenshots, 1-2 days on TestFlight, and 1-7 days on App Review. Most of that is waiting on Apple, not work.
What gets first-time iOS apps rejected?
The top three: (1) App Privacy Details that under-claim what the app actually collects (Guideline 5.1.1), (2) missing demo account credentials when the app requires login (Guideline 2.1), (3) bugs or crashes the reviewer hits in the demo flow (Guideline 2.1). Read the rejection email's cited Guideline carefully — Apple is specific.
Do I need to be incorporated to launch on the App Store?
No. The Individual enrollment in the Apple Developer Program is fastest and cheapest ($99/year, no D-U-N-S number needed). Switch to Organization later if you raise funding or need to publish under a company name.
Can my AI agents help with the App Store submission?
Yes. Agents are particularly useful for: drafting App Store metadata from your README, auditing the codebase to populate App Privacy Details accurately, drafting your privacy policy from the data audit, drafting launch-day distribution copy (press kit, tweet thread, Product Hunt tagline). The playbook ships agent prompts for those steps inline.
What does the App Store cost?
$99/year for the Apple Developer Program. Apple takes 15-30% of every paid transaction (15% for subscribers in their second+ year, 15% for small businesses under $1M/year revenue who enrol in the Small Business Program, 30% otherwise).

Open this template as a workspace.

We mint a fresh copy in your org with the steps as table rows, the pointers as a separate table, and the brief as a doc. Bring your agents, start checking off boxes.