メインコンテンツへ移動 / Skip to main content

Publishing Your First iOS App to the App StoreXcode 26, TestFlight, and App Review (2026 Guide)

A complete walkthrough for indie developers shipping a first iOS app, current as of October 2026: the $99/year membership, the Xcode 26 / iOS 26 SDK mandate effective April 28 2026 and the iOS 27 SDK requirement announced for April 2027, Japan’s new payment rules, App Privacy and privacy manifests, TestFlight internal vs external testing, and the rejection reasons that actually bite — with a checklist.

An iOS app build passing through signing, TestFlight, and App Review on its way to the App Store
Technology
Published on: August 4, 2026
Updated on: October 23, 2026
Read time: 16 min
Author: Pochang Lab
Read time: 16 min

1. The Short Version: Three Things Actually Block You — a Mac, the Annual Fee, and the Xcode 26 Mandate

Updated October 23, 2026: Added the minimum deployment target (iOS 13 or later) in effect since September 9, 2026, the iOS 27 SDK requirement and iPhone Duo screenshots announced for April 2027, the new social media questions in the age rating questionnaire, the June and October 2026 App Review Guidelines revisions, and Japan’s new payment rules under the Mobile Software Competition Act.

Shipping a first iOS app requires a surprising amount of work beyond writing code. The places people get stuck, though, are predictable.

  • You need a Mac. Xcode runs only on macOS. There is no supported path that stays entirely on Windows or Linux.
  • You need to keep paying. The Apple Developer Program costs $99 USD per year (enrolling through the Apple Developer app on the Japanese App Store shows ¥12,800, as of October 2026) and recurs for as long as you want the app listed.[1][12] Google Play charges a one-time $25 registration fee instead — a structurally different deal.[11]
  • Since April 28, 2026, builds must use Xcode 26 and the iOS 26 SDK. Binaries built with older Xcode versions are rejected at upload time.[2] Apple has also announced that from April 2027, builds must use the iOS 27 SDK or later.[13]

On the other hand, iOS has no pre-release testing quota comparable to Google Play's requirement that new personal accounts keep 12 testers opted in for 14 consecutive days. TestFlight beta distribution is strongly advisable but not mandatory. On that axis, iOS is clearly the lighter platform.

This article is the iOS counterpart to Publishing Your First Android App to Google Play, and walks the same ground at the same level of detail.

Six-stage publishing pipeline: Apple Developer Program enrollment, Xcode build and signing, App Store Connect setup, TestFlight distribution, App Review, and release

Figure 1: Six stages. Unlike Android there is no pre-release tester quota, but the SDK version and review guidelines bind much harder.

2. Prerequisites: Enrolling in the Developer Program, and the Mac Requirement

2-1. Individual vs. Organization

You choose one at enrollment. Both cost $99 per year, but the seller name shown on the App Store differs.[1]

TypeSeller name shown publiclyWhat you need
IndividualYour own legal nameIdentity documents, a payment card
OrganizationYour company nameA legal entity, a D-U-N-S number, entity verification

The detail indie developers most often miss: enrolling as an individual publishes your real name in the App Store's seller field. Using a handle elsewhere doesn't change this. To list under a business name, you need a legal entity and an Organization enrollment.

2-2. The Fee Is a Recurring Cost, Not a Setup Cost

Unlike Android's one-time $25, Apple's $99 recurs annually. If the membership lapses, your published apps are removed from the App Store. For a hobby app you'd like to leave running untouched for years, that difference matters more than it first appears.

Apple does waive the fee for qualifying nonprofits, educational institutions, and government entities, but individual developers are not eligible.[3]

2-3. Getting a Mac

Xcode is macOS-only, and the archive you submit to the App Store can only be produced by Xcode (or xcodebuild). If you don't own a Mac, a used Mac mini or a cloud Mac service are the usual routes. Since September 2026, App Store Connect also accepts apps built with Xcode 27.[13] Check the release notes of whichever Xcode you use for the macOS version it requires.

Stacked comparison showing Apple's recurring $99 per year against Google's one-time $25, and the resulting five-year gap

Figure 2: Apple charges $99 every year; Google charges $25 once. The gap widens the longer the app stays listed — and on Apple, lapsing delists it.

2-4. Rules for Charging Users in Japan (Mobile Software Competition Act)

Japan’s Mobile Software Competition Act came fully into force on December 18, 2025,[19] and starting with iOS 26.2 Apple opened the following options for Japan:[18]

  • Offer an alternative payment method inside an App Store app, alongside Apple’s In-App Purchase
  • Link out to your own website for purchases (not allowed in Kids category apps; links can’t be shown to users under 13, and users under 18 must pass a parental gate)
  • Distribute through Apple-authorized alternative app marketplaces (subject to Notarization, a lighter review than App Review)

Fees depend on the route.

ItemFee
App Store commission21% (10% for Small Business Program members, subscriptions after their first year, and similar cases)
Additional fee when paying through Apple’s In-App Purchase+5%
Store services commission on purchases via web links15% (10% under the same conditions as above)
Core Technology Commission for distribution outside the App Store5%

A free app is unaffected for now, but if you plan to charge users in Japan, the route you choose changes what you keep.

3. Building: Xcode 26 and the iOS 26 SDK Are Now Mandatory

3-1. The April 28, 2026 SDK Requirement

Since April 28, 2026, apps uploaded to App Store Connect must be built with Xcode 26 or later against the iOS 26 / iPadOS 26 / tvOS 26 / visionOS 26 / watchOS 26 SDKs.[2] This does not mean your app must require iOS 26. It constrains the SDK you build against; your Minimum Deployments target is a separate setting you still control.

Conflating the two leads people to think adopting the iOS 26 SDK means dropping older devices. It doesn't — build against the iOS 26 SDK while setting Minimum Deployments to, say, iOS 17, and older devices still receive the app.

There is a floor, though. Since September 9, 2026, iOS and iPadOS apps uploaded to App Store Connect must target iOS 13 or later.[2] And Apple has announced that from April 2027, apps must be built with the iOS 27 / iPadOS 27 SDK or later (no exact date yet).[13]

3-2. Signing: "Automatic" Is Fine

Apple's certificates and provisioning profiles are the rough analogue of Play App Signing. For solo development, enable Automatically manage signing in Xcode and attach your Apple ID; certificates and profiles are generated for you. Manual management only becomes necessary for CI/CD signing or shared team keys.

The mappings worth memorizing:

ConceptiOSAndroid
Distribution package.ipa (produced by Xcode from an archive).aab (Android App Bundle)
Key managementCertificate + provisioning profile (Apple-managed)Play App Signing (Google-held) + upload key
Unique identifierBundle ID (e.g. com.example.myapp)Package name (e.g. com.example.myapp)
Version fieldsCFBundleShortVersionString + CFBundleVersionversionName + versionCode

The Bundle ID cannot be changed after publishing — same rule as Android's package name. Decide it deliberately.

3-3. Archiving and Uploading

  1. Set the build destination to Any iOS Device (you cannot archive a simulator build).
  2. Run Product → Archive.
  3. When Organizer opens, choose Distribute App → App Store Connect.
  4. Once validation passes, the build uploads and appears under App Store Connect's TestFlight tab within minutes to tens of minutes.

Freshly uploaded builds sit in a processing state and can't be submitted until processing finishes.

3-4. Declaring Export Compliance for Encryption

An easily missed one: ITSAppUsesNonExemptEncryption in Info.plist. Without it, you're asked whether your app uses encryption on every single upload. Ordinary apps that only speak HTTPS often fall under an exemption, but whether that applies is a judgment about your own implementation.

4. App Store Connect: Listing Metadata and Screenshots

4-1. Creating the App Record

In App Store Connect, go to My Apps → + → New App. Set the name, primary language, Bundle ID, and SKU (an internal identifier for your own bookkeeping).

4-2. Screenshots and Icon

The required sizes have been consolidated compared with earlier years.[4]

AssetSizeNotes
App Store icon1024×1024 pxNo transparency, sRGB PNG/JPEG
iPhone screenshots6.9-inch, 1320×2868 px, etc.At least one needed. Apple’s required slot is "iPhone with Dynamic Island (medium display)," but larger screenshots are scaled down to fill it
iPad screenshots13-inch, 2064×2752 pxRequired only if you declare iPad support
iPhone Duo screenshotsOuter display 1398×2034 px / inner display 2007×2853 pxOptional for now (adds an "optimized for iPhone Duo" badge). From April 2027, required for apps using the iOS 27.1 SDK or later [14]

iPhone Duo is a new iPhone that went on sale on October 23, 2026; developing for it requires Xcode 27.1.[14]

App Store Connect rejects files that are off by even a single pixel, so lock down your export settings up front.

Note that declining iPad support removes the iPad screenshot requirement entirely. To keep a first release light, shipping iPhone-only and expanding later is the easier operational path.

5. Privacy Declarations: Three Different Things That Must Agree

This is the single most rejection-prone area as of 2026, which is why it gets its own chapter.

5-1. Three Distinct "Privacy" Artifacts

NameWhat it isWhere it lives
Privacy policy URLA link to a publicly reachable static pageApp Store Connect, app information
App Privacy ("nutrition label")Your declaration of what data you collect, shown on the store listingApp Store Connect, App Privacy [5]
Privacy manifestPrivacyInfo.xcprivacy — declares required-reason APIs and data collection inside the bundleA file in your Xcode project [6]

These three must not contradict each other, and mismatches are exactly what gets flagged in 2026. The classic failure is a binary that collects an advertising identifier while App Privacy claims no collection.

5-2. Account Deletion Is Mandatory

Apps that let users create an account must provide an in-app path to delete that account. Directing users to a contact form alone can be judged insufficient.

5-3. App Tracking Transparency

If you track users across other companies' apps and websites, you must request permission through Apple's own ATT dialog. Substituting a custom-built dialog is grounds for rejection.

Diagram showing the privacy policy URL, App Privacy nutrition label, and privacy manifest as three layers that must agree with the implementation

Figure 3: Privacy spans three layers. Any disagreement between them and the actual binary becomes the rejection reason.

5-4. The Age Rating Questionnaire

Apple overhauled age ratings in 2025, adding 13+, 16+, and 18+ while retiring 12+ and 17+. Developers were required to complete an updated questionnaire by January 31, 2026; apps that didn't are blocked from new submissions and updates.[7] New enrollments today simply answer the current questionnaire from the start.

In July 2026, Apple added questions about social media capabilities (letting users redistribute, amplify, or interact with user-generated content through a feed or similar). They tie into Time Allowances, the parental controls in iOS 27, and since September 2026 answers are required when submitting new apps or updates. Apps with these capabilities show a "Social Media" descriptor on their product page.[15]

6. TestFlight: 100 Internal Testers Instantly, 10,000 External After Review

TestFlight has two tracks with genuinely different behavior. Confusing them costs a lot of time wondering why testers aren't receiving builds.

TrackCapacityBeta App ReviewTime to distribution
InternalUp to 100 App Store Connect usersNot requiredMinutes after processing completes
ExternalUp to 10,000 (link or email invite)RequiredTypically several days as of 2026

Internal testers must be users you've invited to App Store Connect itself — you can't simply add a friend's email address. To distribute broadly, use the external track and clear Beta App Review.[8]

Unlike Android, TestFlight testing is not a precondition for release. That said, submitting to review without ever running on a physical device is reckless, so in practice running the internal track at minimum is the sensible baseline.

Comparison of the internal track distributing to 100 testers with no review against the external track reaching 10,000 testers after Beta App Review

Figure 4: The internal track ships same-day with no review; the external track adds Beta App Review. The capacity differs by two orders of magnitude.

7. Submitting for Review, and What Actually Gets Rejected

7-1. How Long Review Takes

Apple states that the majority of submissions are reviewed within 24 hours.[9] In practice, several days is unremarkable, and longer delays were reported through the first half of 2026. The realistic posture is not to promise a launch date that assumes a 24-hour turnaround.

Expedited Review exists for genuine emergencies, but the number granted per account is limited — save it for when it matters.

7-2. The Rejections That Actually Bite in 2026

Cross-referencing the published review guidelines with commonly reported patterns, the mines indie developers step on cluster here.[10]

GuidelineIssueTypical indie cause
1.5 Support URLThe support URL doesn't workThe page 404s, or is still a placeholder
5.1.1 PrivacyMissing policy, or declarations contradicting the binaryApp Privacy answers don't match the implementation
4.2 Minimum functionalityToo little functionality; effectively just a websiteA WebView wrapper around an existing site
2.1 App completenessReviewer can't exercise the appNo demo account supplied; reviewer blocked at login

4.2 (Minimum Functionality) is the one indie developers wrapping an existing website hit most often. You need genuine native integration and an experience that justifies being an app.

Equally important: if your app requires login, always supply a demo account for the reviewer in the App Review Information section. Leaving it blank reliably earns a 2.1 rejection for being unverifiable.

The guidelines themselves were revised twice in 2026. On June 8, Apple clarified the basis for 4.3(a) and 4.3(b) (spam and copycat apps) and added examples.[16] On October 16, it added guideline 2.5.19, which prohibits "bait-and-switch" apps that add features after approval that weren’t in the reviewed version, as well as hidden or dormant features (content previously in 2.3.1), and stated that violators can be removed from the App Store and from the Developer Program.[17] Submitting a "review-only" version is simply not an option.

7-3. Choosing How to Release

Once approved, you control the timing.

  • Manual release: publish when you choose. Safest for a first launch.
  • Automatic release: goes live as soon as it's approved.
  • Phased release: for updates, rolls out gradually over seven days — the analogue of Android's staged rollout.

Phased release is an update-only feature and isn't available for a first launch. Ship the initial version on manual release so you can inspect the live listing before it goes public.

8. iOS vs. Google Play, Side by Side

"Publishing as an individual" means quite different things on the two platforms.

DimensioniOS / App StoreAndroid / Google Play
Registration fee$99/year, recurring$25, one time
Development machineMac requiredWindows / macOS / Linux
Distribution format.ipa.aab
Build requirementXcode 26 + iOS 26 SDK (from Apr 28, 2026); iOS 27 SDK announced for Apr 2027Target API 36 (from Aug 31, 2026)
Mandatory pre-release testingNone (TestFlight optional)12 testers × 14 days for new personal accounts
ReviewPrimarily human review; hours to daysAutomated + human; several days
Staged rolloutUpdates only, over 7 daysAvailable from the first release, by percentage

A useful compression: iOS front-loads the cost (money and a Mac); Android back-loads it (the testing requirement). If you're shipping to both, the time-efficient play is to run Android's 14-day closed test while iOS review proceeds in parallel.

Balance-scale diagram contrasting iOS's heavy entry requirements with Android's heavy pre-release testing requirements

Figure 5: The weight sits in different places — iOS at the entrance (annual fee and a Mac), Android at the exit (12 testers × 14 days).

9. A Ready-to-Use Checklist

Enrollment and build

  • [ ] Enrolled in the Apple Developer Program (Individual publishes your legal name)
  • [ ] Able to build with Xcode 26+ against the iOS 26 SDK
  • [ ] Bundle ID finalized (cannot be changed after publishing)
  • [ ] Minimum Deployments set to your intended oldest iOS version (iOS 13 or later required since September 9, 2026)
  • [ ] Certificates and profiles via Automatically manage signing
  • [ ] ITSAppUsesNonExemptEncryption set in Info.plist
  • [ ] Uploaded via Product → Archive → Distribute App

Store listing

  • [ ] Icon 1024×1024 (no transparency, sRGB)
  • [ ] iPhone 6.9-inch 1320×2868 screenshots
  • [ ] iPad 13-inch 2064×2752 (only if declaring iPad support)
  • [ ] iPhone Duo screenshots (optional now, planned to be required from April 2027)
  • [ ] Description, keywords, and a support URL that actually resolves
  • [ ] Privacy policy URL on a publicly reachable static page

Privacy and review readiness

  • [ ] App Privacy answers match the implementation
  • [ ] PrivacyInfo.xcprivacy bundled, declaring required-reason APIs
  • [ ] In-app account deletion, if the app has accounts
  • [ ] Apple's ATT dialog, if you track across apps and sites
  • [ ] Age rating questionnaire completed (including the social media questions)
  • [ ] Demo account and notes filled into App Review Information

Testing and release

  • [ ] Verified on a physical device via internal testers (up to 100)
  • [ ] External track cleared through Beta App Review if needed (up to 10,000)
  • [ ] First release set to manual so you can inspect the listing
  • [ ] Phased release (7 days) used for subsequent updates

10. Conclusion

What trips people up on iOS isn't the code — it's the prerequisites and the consistency of your declarations. Absorb the entry cost of a Mac and the annual fee, build with Xcode 26 and the iOS 26 SDK, and make the three privacy layers (policy URL, App Privacy, privacy manifest) agree with what the binary actually does. Get that far and review becomes markedly smoother.

Because there's no pre-release tester quota, the shortest path to a first release is genuinely shorter on iOS. The trade is the recurring $99 — a real consideration for a hobby project you intend to leave running. Understand those two facts and you can decide which store to ship to first.

The Android side is covered in Publishing Your First Android App to Google Play; read both if you're targeting each.

References

  1. [1]Apple Developer, Apple Developer Program — What's included. ↩
  2. [2]Apple Developer, Upcoming requirements. ↩
  3. [3]Apple Developer, Fee waivers. ↩
  4. [4]Apple, Screenshot specifications — App Store Connect Help. ↩
  5. [5]Apple Developer, App privacy details on the App Store. ↩
  6. [6]Apple Developer, Privacy manifest files. ↩
  7. [7]Apple Developer, Updated age ratings in App Store Connect. ↩
  8. [8]Apple Developer, TestFlight. ↩
  9. [9]Apple Developer, App Review. ↩
  10. [10]Apple Developer, App Store Review Guidelines. ↩
  11. [11]Google Play Console Help, Open a Play Console developer account. ↩
  12. [12]App Store (Japan), Apple Developer, in-app purchase "Apple Developer Program ¥12,800" (checked October 2026). ↩
  13. [13]Apple Developer, App Store submissions now open for the latest OS releases (September 9, 2026). ↩
  14. [14]Apple Developer, Prepare and submit your apps for iPhone Duo (October 5, 2026), and Screenshot specifications (checked October 2026). ↩
  15. [15]Apple Developer, Age rating questionnaire now includes social media questions (July 9, 2026). ↩
  16. [16]Apple Developer, Updated DPLA and App Review Guidelines (June 8, 2026). ↩
  17. [17]Apple Developer, Updated App Review Guidelines and Strengthening guidelines against nonconsensual intimate imagery and bait-and-switch apps (both October 16, 2026). ↩
  18. [18]Apple Newsroom, Apple announces changes to iOS in Japan (December 17, 2025). ↩
  19. [19]Japan Fair Trade Commission, Mobile Software Competition Act (fully in force since December 18, 2025). ↩

Related Articles

From the Pocho Lab

Try this next