AppReviewX Log in

Which iOS versions to support

Choose a deployment target from your own data and features, and test the boundary versions.

In this guide

The oldest iOS version your app runs on is its deployment target. A lower target reaches more people but costs more testing and limits the newer features you can use. This page is a worksheet to pick yours from your own data. It contains no market-share figures, because they change and you should use your own.

What the choice affects

  • Reach. Users on older iOS cannot install an app with a higher target.
  • Features. Newer system features may not exist on older versions, so you need fallbacks or you must drop the feature there.
  • Testing effort. Every supported version is a version you should test, at least at its edges.
  • Maintenance. Old versions bring workarounds you carry forward.

Worksheet

1. Look at your own users

If the app is live, check your own analytics or crash reports for the iOS versions of your users. App Store Connect may offer a breakdown too; look at what it currently shows for your app. If the app is new, use the answer from your first testers and your target audience.

2. Name the features you need

List the newer system features the app depends on. Check the current Apple documentation of each for the version it requires. If a core feature needs version N, your target should not be below N unless you accept a fallback.

3. Decide your rule

Pick a rule and write it down, for example:

  • "Support the current major version and the previous one."
  • "Support the lowest version that our key feature needs."
  • "Drop a version when fewer than X percent of our own users remain on it." (Choose X yourself.)

Reviewing it once a year keeps it honest.

4. Test the boundaries

You do not test every version equally. Test the edges:

  • The lowest supported version. Most missing-feature crashes appear here.
  • The newest version, including beta releases when they are available. New releases change system behavior.
  • One version in between if your app does anything unusual.

Use a real device for the oldest version if you can, and the simulator for the rest. See which iPhones to test on.

5. Check what changes between versions

Ask testers on different versions to run the same short script, covering at least:

  • Layout and appearance: dark mode and Dynamic Type.
  • Permission prompts and notifications.
  • Anything that uses a newer API.

Raising the target later

When you raise the minimum, tell users in the release notes and on your support page which iOS version is now required. Users on an older version cannot install the new release, so decide beforehand how you will answer their support requests.

Quick decision table

Situation Lean toward
New app, no data Recent versions only; less testing
Key feature needs a new API Raise the target to that version
Many own users on an old version Keep it, test the edge
Few testers on an old version Consider dropping it

Hub: iOS app testing.

Get started on AppReviewX and ask testers for their iOS version in every report.