App Store

    How to Downgrade an App Version in App Store Connect

    App Store Connect showing a paused phased release while a higher-numbered version with the previous working code is submitted.

    You cannot directly downgrade or roll back to a previous version in App Store Connect, because Apple requires each new version to have a higher version number and does not let you re-release an old build as-is. The real fix for a bad release is to submit a new, higher-numbered version that contains the previous working code, and request expedited review so it reaches users quickly. To limit damage in the meantime, pause the phased release to stop the bad update from spreading to more users, and remove the app from sale if necessary. iOS itself does not let users downgrade an app they have already installed.

    Short answer

    There is no rollback button in App Store Connect, because version numbers must always increase and you cannot re-publish an old build unchanged. Per Apple's phased release guidance, you can pause a phased release to stop a bad update reaching more users, which is your fastest damage-control step. The actual fix is to ship a new, higher-numbered version containing the previous working code and request an expedited review so it goes out fast. You cannot force existing users onto an older build, since iOS does not support downgrading an installed app. Pause first, then push a corrected version.

    Can you downgrade an app version in App Store Connect?

    Not directly. Apple's model is forward-only: every new version must have a higher version number than the last, and you cannot select a previous build and make it the live version again. So the literal action of downgrading, reverting the store to an older version as it was, is not something App Store Connect offers.

    This surprises people coming from systems with a one-click rollback, but it follows from how Apple versions apps. The practical consequence is that fixing a bad release is always a matter of moving forward with a new version, not backward to an old one. Once you accept that, the real options become clear, and they are effective even though none of them is labeled downgrade. What you are really doing is re-releasing your last good version and containing the bad one, which achieves the same outcome by different means.

    The real fix: ship a new version with the old code

    The reliable way to get working code back to users is to submit a new version that contains the previous, good code, with a version number higher than the bad release. In effect you re-release your last working build under a new number, which passes Apple's forward-only rule while giving users the behavior of the old version. This is the closest thing to a genuine rollback that the platform actually allows.

    Prepare this build the same way you would any release, from the known-good source of the previous version, and make sure the version and build numbers are higher than the release you are replacing. Because it is a normal submission, it goes through review, which is why the next step, getting that review to happen quickly, matters when you are trying to undo a bad release fast.

    Use expedited review to get it out fast

    Because the corrected version must be reviewed, an expedited review is the alternative that turns a slow rollback into a fast one. When a live version is actively harming users, that is exactly the kind of time-sensitive, critical situation Apple's expedited review is meant for, so you submit the new version and request an expedite explaining that it fixes a critical problem in the current release.

    Make the request specific. State that the live version has a serious bug affecting current users and that this submission reverts to working code, since a concrete description of user impact is what justifies an expedite. Keep in mind that an expedited review is faster, not automatic: the build still must pass review, so it should be your genuine previous working code, not a rushed patch that risks a rejection and further delay.

    Pause the phased release to limit damage

    While the fix is in review, stop the bad version from spreading. If you released the update using phased release for automatic updates, it rolls out to users over several days, and you can pause that rollout in App Store Connect, which stops it reaching additional users. Pausing does not remove the update from those who already have it, but it caps how many people are affected.

    If the problem is severe, you can also remove the app from sale temporarily, which pulls it from the store entirely until you replace it. Neither action downgrades anyone who already updated, because iOS does not roll back an installed app, but both reduce the blast radius while your corrected version works through review. Pausing the phased release is usually the first, least disruptive move. It is reversible too, so you can resume the rollout later if it turns out the problem was smaller than you feared, without having pulled the whole app.

    Options compared

    Each option does a specific job, and knowing which is which prevents wasted effort. The table below compares them.

    GoalMethodNote
    Get working code back to usersNew higher-numbered version with old code, expeditedVersion must increase
    Stop a bad update spreadingPause the phased releaseExisting installs keep it
    Pull the app entirely for nowRemove from saleDoes not downgrade installs
    Force users onto an older buildNot possibleiOS has no downgrade

    Read the table as a sequence rather than a menu. Pause the phased release to stop the spread, ship a higher-numbered version with the old code to fix it, and use an expedite to make that fast, while understanding that forcing a true downgrade on users is simply not available.

    Rollback checklist

    Acting in the right order limits the damage and gets the fix out fastest. The checklist below puts the steps in sequence.

    CheckActionDone?
    Pause rolloutPause the phased release to cap the spread[ ]
    Prepare fixBuild a higher-numbered version from the good code[ ]
    Submit and expediteSubmit and request expedited review with the reason[ ]
    Consider removalRemove from sale if the issue is severe[ ]
    VerifyConfirm the corrected version reaches users[ ]

    The order matters because pausing is instant while a new version takes review time, so you pause first to stop new users being affected, then push the corrected build. Treat remove-from-sale as a stronger option for a serious problem, and always verify that the fix actually reached users once it is approved.

    Prevent the bad build

    The best rollback is the one you never need, since every step above costs time and affects users. Many bad releases trace to issues that a check before submission would have caught, and security and privacy problems are a common category, from a broken change that exposes data to a secret accidentally shipped in the build.

    A scanner like PTKD.com analyzes your app build and reports findings ordered by severity and mapped to OWASP MASVS, so you catch issues like unjustified permissions, cleartext traffic, or embedded secrets before you ship. To be clear about the boundary: PTKD does not roll back a version, pause a phased release, or request an expedite. It helps you avoid shipping the kind of flawed build that forces a rollback in the first place.

    What to take away

    • You cannot directly downgrade a version in App Store Connect, because version numbers must always increase and old builds cannot be re-published unchanged.
    • The real fix is to ship a new, higher-numbered version containing the previous working code, and request an expedited review to get it out fast.
    • Expedited review is the alternative to a rollback: it makes the corrected version fast, but the build still has to pass review.
    • Pause the phased release, and remove from sale if needed, to limit how many users the bad version reaches while the fix is in review.
    • iOS cannot force users to an older build, so prevent the problem by scanning with PTKD.com before you ship.
    • #app store connect
    • #downgrade
    • #rollback
    • #phased release
    • #expedited review

    Frequently asked questions

    Can I downgrade an app version in App Store Connect?
    Not directly. Apple's model is forward-only: every new version must have a higher version number than the last, and you cannot select a previous build and make it live again. There is no rollback button. The practical fix is always to move forward with a new version that contains the previous working code, not backward to an old one.
    How do I roll back a bad App Store release?
    Submit a new version with a version and build number higher than the bad release, built from your previous known-good source, so it re-releases the last working build under a new number. This passes Apple's forward-only rule while giving users the old behavior. It goes through review like any submission, so request an expedite to make it fast.
    What is the expedited review alternative to a downgrade?
    Since the corrected version must be reviewed, an expedited review is what turns a slow rollback into a fast one. A live version actively harming users is the time-sensitive situation expedited review is meant for, so submit the new version and request an expedite explaining the critical bug. It is faster, not automatic, so it must be genuine working code that will pass review.
    Can I pause a phased release to stop a bad update?
    Yes. If you used phased release for automatic updates, it rolls out over several days, and you can pause that rollout in App Store Connect to stop it reaching additional users. Pausing does not remove the update from those who already have it, but it caps how many people are affected while your corrected version is in review.
    Can I force users back to an older version?
    No. iOS does not support downgrading an app a user has already installed, so you cannot force anyone onto an older build. You can pause the phased release to limit the spread and remove the app from sale temporarily, but existing installs of the bad version stay until users install your corrected, higher-numbered release.
    How do I avoid needing a rollback at all?
    Catch flawed builds before you ship, since every rollback step costs time and affects users. A scanner like PTKD.com (https://ptkd.com) analyzes your build and reports issues such as unjustified permissions, cleartext traffic, and embedded secrets, mapped to OWASP MASVS. It does not roll back a version or pause a release, but it helps you avoid shipping the kind of build that forces one.

    Keep reading

    Scan your app in minutes

    Upload an APK, AAB, or IPA. PTKD returns an OWASP-aligned report with copy-paste fixes.

    Try PTKD free