Publish to the App Store

Everything you need before an iOS app can ship: enrolling in the Apple Developer Program (individual or company, with D-U-N-S), creating an App Store Connect API key, and finding your Team ID — explained click by click.

The Spikefrost Team11 Jul 20265 min read

Shipping an iOS app has one unavoidable prerequisite that no tooling can skip: an Apple Developer account that belongs to you, plus a small set of credentials that let tools act on your behalf. This guide walks through every step — what to create, where to click, what to save, and how long each stage takes.

By the end you will have the four artifacts automated publishing needs: an App Store Connect API key (.p8 file), its Key ID, your Issuer ID, and your Team ID.

Before you start: individual or organization?

Apple offers two kinds of Developer Program membership, and the choice matters because it is printed on the App Store:

  • Individual — the store shows your personal name as the seller. Fastest to set up (usually 1–2 days). One login; no team management.
  • Organization — the store shows the company name, supports multiple team members with roles, and is required if the app belongs to a legal entity. Requires a D-U-N-S number and manual verification: budget 1–2 weeks end to end.

Apple requires apps to be published by the entity that owns them. An agency or platform cannot publish your app under its own account — this is why the account must be yours.

Step 1 — an Apple ID with two-factor authentication

  1. If you don't have an Apple ID (or want a dedicated one for the business), create it at account.apple.com. Use an email address the team controls (e.g. appstore@yourcompany.com), not a personal inbox that may leave the company.
  2. Turn on two-factor authentication — Settings → Sign-In and Security → Two-Factor Authentication. Enrollment is impossible without it.
  3. Sign in once on an iPhone/iPad or Mac if you can; some enrollment steps verify more smoothly from an Apple device.

Step 2 — for organizations only: the D-U-N-S number

Apple verifies companies through Dun & Bradstreet's D-U-N-S database.

  1. First check whether your company already has one — many do without knowing: use Apple's lookup at developer.apple.com/enroll/duns-lookup.
  2. If nothing is found, request a number through the same page. It is free. You'll provide the legal entity name (exactly as registered), address, and a contact.
  3. Wait for issuance and for Apple's copy of the database to update — typically 5–10 business days combined. This is the long pole of the whole process; do it first.
  4. While waiting, make sure your company has a public website whose domain matches the email you'll enroll with — Apple checks this.

Step 3 — enroll in the Apple Developer Program

  1. Go to developer.apple.com/programs/enroll and sign in with the Apple ID from Step 1.
  2. Choose the entity type (Individual / Organization).
  3. Individual: confirm your legal name and address, agree to the license, pay $99/year. Approval is often same-day, sometimes 48 hours.
  4. Organization: enter the D-U-N-S number, legal entity name, and your role. You must be authorized to bind the company legally (owner, founder, or an executive-authorized employee — Apple may phone your listed contact to verify). Then agree and pay $99/year.
  5. You'll receive a confirmation email when membership is active. From this point, developer.apple.com/account shows your membership details.

Step 4 — find your Team ID

  1. Sign in at developer.apple.com/account.
  2. Scroll to Membership details (or open the Membership page from the sidebar).
  3. Copy the Team ID — a 10-character code like 2AB3C4D5EF. Save it; automation needs it to pick the right signing identity.

Step 5 — create an App Store Connect API key

This single key is what lets tooling upload builds, manage TestFlight, register bundle IDs, and handle signing — without you ever exporting certificates by hand.

  1. Go to appstoreconnect.apple.com and sign in.
  2. Open Users and Access (from the home screen or the top-right menu).
  3. Switch to the Integrations tab, then App Store Connect API (choose Team Keys if the tabs distinguish team vs individual keys).
  4. The first time, click Request Access and accept the terms — access is granted immediately.
  5. Click the (Generate API Key) button.
  6. Name it something recognizable, e.g. Spikefrost publishing.
  7. Access (role): choose "App Manager" — enough for creating app records, uploading builds, and TestFlight, without full admin power.
  8. Click Generate, then on the key row click Download API Key.

Three values to save now:

  • The downloaded AuthKey_XXXXXXXXXX.p8 file. ⚠️ Apple lets you download it exactly once. If it's lost, you revoke and create a new key.
  • The Key ID shown on the key's row (matches the XXXXXXXXXX in the filename).
  • The Issuer ID shown at the top of the same page (a UUID like 57246542-96fe-1a63-e053-0824d011072a) — one per account, shared by all keys.

Treat the .p8 like a password: store it in a password manager or secrets vault, never in a repository, chat, or email.

Step 6 — nothing else (really)

You do not need to manually create signing certificates, provisioning profiles, or even the app record in App Store Connect — modern tooling does all of that through the API key, including registering your app's bundle ID (its unique reverse-DNS name like com.yourcompany.yourapp). Those steps only exist as manual work in older guides.

What remains genuinely human, later, at production-release time:

  • Store listing content: name, subtitle, description, keywords, screenshots.
  • App Privacy questionnaire: what data the app collects (answered in App Store Connect).
  • A privacy policy URL and a support URL — a page on your existing website is fine.
  • App Review: Apple's human review, typically 1–2 days, occasionally with questions.

TestFlight internal testing — the first milestone that puts the real app on real phones — needs none of that: upload, add up to 100 internal testers, done in minutes.

The checklist

# Item Where Cost / time
1 Apple ID + 2FA account.apple.com free, minutes
2 D-U-N-S (organizations) developer.apple.com/enroll/duns-lookup free, 5–10 business days
3 Developer Program membership developer.apple.com/programs/enroll $99/yr; 1–2 days (individual), 1–2 weeks (org)
4 Team ID developer.apple.com/account → Membership copy once
5 API key: .p8 + Key ID + Issuer ID App Store Connect → Users and Access → Integrations free, minutes; .p8 downloads once

With those five lines done, everything after — bundle IDs, signing, uploads, TestFlight, submission — can be driven by tooling using the API key, Issuer ID, Key ID, and Team ID you saved.

Frequently asked questions

How much does Apple app publishing cost?

The Apple Developer Program costs $99 per year (individual or organization). There is no per-app fee. TestFlight beta distribution is included.

How long does Apple Developer enrollment take?

Individuals are usually approved within a day or two. Organizations need a D-U-N-S number and manual verification, which commonly takes one to two weeks end to end — start early.

Do I publish under my own name or my company's?

Whatever entity owns the app. Individual accounts show your personal name on the App Store; organization accounts show the company name and support multiple team members. Apple requires apps to be submitted by their owner — an agency cannot publish your app under its own account.

What credentials does automated publishing actually need?

Four things, collected once: the App Store Connect API key file (.p8), its Key ID, your Issuer ID, and your Team ID. With those, tooling can register bundle IDs, manage signing, upload builds, and drive TestFlight without any manual certificate work.

Is TestFlight required before the App Store?

Practically, yes — the build you upload for TestFlight is the same build you submit for release, so TestFlight is the natural staging area. Internal testing (up to 100 people) needs no review and is available minutes after upload.