How to download older versions of iOS apps

By , Dec 25, 2015

Download Old Versions of iPhone Apps 2

Charles Proxy is a tool for OS X that can be used to facilitate the download of older versions of iOS apps from iTunes. It’s a bit of a drawn-out exercise, but if you’ve ever been in need of an older version of a particular app, then you know how handy such a technique can be. In this video, which was inspired by this Reddit post, I’ll show you how to download older iOS apps directly from iTunes on Mac.

Note: Please watch the video in its entirety before trying this. You’ll save yourself a lot of time.

Step 1: Download, install, and launch Charles. Click Grant Privileges and enter your administrator password.

Step 2: Download an app that you wish to downgrade from iTunes, and watch the download activity in the Structure section inside Charles. You should see a “buy” server.

Step 3: Right-click on the “buy” server and click Enable SSL Proxying

Step 4: Stop the iTunes download.

Step 5: Search for the app again in iTunes to bring up the details page, and download the app again. Cancel the download again

Step 6: Click the disclosure triangle by the “buy” server and click buyProduct.

Step 7: Click the Response tab, right click on buyProduct and click Export. Select the Desktop as the Export location, select XML for format, and click Save.

Step 8: Open the XML file using a text editor, and scroll down to locate the following line:

<key>softwareVersionExternalIdentifiers</key>

Under that line you should see a list of numbers similar to this:

<integer>1862841</integer>
<integer>1998707</integer>
<integer>2486624</integer>
<integer>2515121</integer>
<integer>2549327</integer>
<integer>2592648</integer>
<integer>2644032</integer>
<integer>2767414</integer>

These are all of the versions of the app, starting from oldest to newest.

Copy the version number that you wish to download. You’ll have to do some guess and checking if you’re looking for an exact hit on a specific version. In the video tutorial above, I simply select the oldest version. Close the text editor.

Step 9: Back in Charles, right-click on buyProduct and select Edit.

Step 10: Click Text and find the following line near the top of the page:

<key>appExtVrsId<key>

Underneath that text, you’ll see a numerical value inside <string> tags. Paste the value you copied in step 8 to replace the value that’s displayed. Once you do that, click the Execute button at the bottom of the screen.

Step 11: Scroll down under the Response tab and you should see the bundleShortVersionString. Underneath that, you’ll see the actual numerical version of the app that you keyed in on. You can repeat this process until you hone in on the specific version that you’re after.

Step 12: Right-click on the last buyProduct in the list under the “buy” server, and click Breakpoints.

Step 13: In iTunes, search for your app again to refresh the page, and click the Download button to initiate the download again.

Step 14: Back in Charles, you may see the Charles splash screen appear briefly. Click Edit Request → XML Text, and paste the version ID that we copied in step 8 under the <key>appExtVrsId<key>. Click Execute again.

Step 15: You’ll see another breakpoint, just click Execute again.

Step 16: Check iTunes, and the download should commence and complete.

Step 17: Click the My Apps tab, and you’ll see your downloaded app. It should be the older version of the app. You can right-click and select Get Info to verify the older version number.

Step 18: Connect your iPhone to your Mac, and drag the app icon for the older version of the app to your iPhone. You’ll need to make sure that any newer versions are uninstalled from your iPhone before you can install the older version.

Step 19: Close and uninstall Charles once complete.

And that’s all there is to it. Please watch our video walkthrough above, because this tutorial isn’t as daunting as it may seem.

Let me know what you think in the comment section.

  • Share:
  • Follow:
  • Satyam Panchal

    i’m going to try it to downgrade iPhone.. And this is most usefull tool.

    • Nico Jan

      This doesn’t help you downgrade an iPhone.

      • (JailbreakQA) King Shoot

        I’m sure he meant that this will be useful after he downgrades his iPhone.

  • Hi Jeff,
    you can right click the app icon and then click the “open link” option to refresh the page.

    • Nice tip. Yeah I should have realized that.

      • You’re welcome.

      • i got it done for Tap sport baseball 2015, but its forcing me to update it to the latest version. how can i fix that ?

    • Chris

      Along with that, pressing ⌘ + R on OS X or Ctrl + R on Windows will refresh the window.

  • leart

    got this

    • Guilherme 

      Got it through Windows!
      Haha FINALLY, YOUTUBE is great again!

      • leart

        can’t do much with this version .. no control over the feed and can’t edit property the own videos … this version is to much outdated 🙂

      • Guilherme 

        you’re right, I’m testing each version there is to get the best one.

    • Guilherme 

      After trying all versions I guess, I think I’ve finally found the best build. 2.13. No lag/delay on rotation, few ads, good old gray UI, and only takes up 33,3 MB.

      • leart

        i used that version till last month, i had it saved from the time it was the last version of YouTube in 2014 if i remember well but recently started to crash heavily so i switched for the version 10.11, the last compatible with my iOS 6 devices ..
        that version still is missing some features like impossible to remove some suggestions from the feed… can’t chose “not interested”

      • Guilherme 

        I’ll stick with this one till it crashes! haha

      • leart

        when YouTube starts to crash, it don’t stops, the only way to fix it properly is to remove in and reinstall it , i got tired to do this that often from the pc and decided to stay with what iTunes give to me directly from the device.. saved a lot of time..

      • Son Ha Cao

        2.51 is the best
        if you’re in 2.13, when you change quality of the video, the sound of the video is gone

  • (JailbreakQA) King Shoot

    Anything for Windows that can do this?

    • jeanpaulpollue

      Telerik Fiddler

    • NotTodayThx

      I’d hazard a guess at a firefox plugin, used to use something similar to replay cookies to websites, forgot the name, but just search for “windows alternative to Charles proxy”

    • Joshywooful

      Charles also works for Windows.

  • tariq

    So if i downgrade snapchat, i can get Phantom back? Right?

    • Skoven

      Phantom works with newest Snapchat… might have to use the dev. repo though.

  • Chris

    I wonder… how long before Apple patch this.

  • Tommy

    Gotta use this for YouTube

  • Jake Platt

    I can finally get bday Spotify up and running again

    • votdfak

      Jake, it’s much better to use iAnywhere and fool Spotify that you’re using iPad. It’s working with latest Spotify…

      • Jake Platt

        Ok I’ll do that cheers mate

      • votdfak

        Tweak is called Anywhere!. You’re welcome.

      • Juan Pineda

        How do you do that?

      • votdfak

        Hi Juan, first your iPhone must be jailbreaked, second you install tweak called Anywhere!, third inside Anywhere!, select Virtual machine, virtual machine should be on, next Modify the iPod series (middle one, and it’s iPad, not iPod), select iPad version you want, from the list of apps select Spotify. In Management section of Anywhere! you should see that Spotify is enabled. That’s it.

      • Kyle

        Its called jailbroken.

      • votdfak

        I don’t think it’s a word in dictionary, but anyway my bad…

      • Juan Pineda

        Thanks , it worked perfectly!!

  • Guilherme 

    What about Windows?!

  • ravinigga

    Lol i use Charles a lot but for Gta online then

  • iannleon

    I like these advanced howtos

  • Fatejester

    I succeeded once. But found the wrong version of the app I’m looking for. Now I’m having trouble doing anything. Please help. Pm

  • Dexter SherloConan

    How to use Charles for another APP after the initial run? Delete and reinstall Charles?

    • Chris

      You can keep Charles open, you just need to repeat the same steps for each app within Charles.

  • Dexter SherloConan

    Is Apple capable of killing this method?

    • WTFologist

      Looks to me like ‘yes’ – if you upgrade to El Capitan. iTunes app store can’t connect when Charles proxy is running.

  • i got it done for Tap sport baseball 2015, but its forcing me to update it to the latest version. how can i fix that ? anybody help me

  • Eric Norberg

    Can I use this to get old software for the original iPad? I am trying to breath some life into an old one I got for free. I really just want the version of sling player that will work on iOS 5.

  • Nick Turner

    This is Fantastic!
    Thank you for sharing how to do this, also the video was easy to follow along with.
    I have re-enabled the useful parts from Google+!

  • Murad

    I take it back it worked ! One thing I would add is that is not shown in video is that when you begin the download – the buy.itunes does not captured immediately – so you need to let the app download a bit before it is

  • asian unicorn-chan

    Is there a solution if the app is only available on iPhone?

  • Eko Andri

    Thank you, the latest whatsapp keeps crashing and this method saved me.

  • Sangar Sarkawt

    Hi all i couldnt find the “softwareVersionExternalIdentifiers” in the xml file

  • Davo Paul

    LOL

  • WTFologist

    looks like the proxy is now blocked for El Capitan.

  • Imran Shaikh

    can’t get this to work with Max OS10.12. Can someone assist with v4.1 and v4.2 of Plex IOS.

  • Stiofán de Geata

    Only getting “Unknown” with a red X. Running OS 10.12 Sierra, could that be the issue? I really need to find a previous version of an iPad app.

  • Stiofán de Geata

    OK, got it to work on my Mac according to Alex Ivaylov’s instructions below. However, I think they must have changed something in iTunes as it doesn’t give me the XML file or any option to save it in that format. I am given Content-Type: application/json not text/xml as in the example. Ideas???

  • TJ

    Alex, thanks for sharing. I followed your instructions without problems except Step 2 and Step 34. In step 2, I wasn’t asked for any password. I just saved the file. Without a password entered in step 2, I have nothing to enter in Step 34. I tried hitting enter (blank password) and my system password but none worked. Could you please help. Thanks.

    • Alex Ivaylov

      Hi, make sure you are exporting as p12. You can also try to install the certificate from Charles straight into the system. After that go into your system keychain and continue from step 4. Also note I just added step 7.5.

    • Alex Ivaylov

      Note that on step 34 it is your user account password that you use to login to your mac (not the certificate password).

  • Does anyone have the 1.3.1 firmware? I need to find the speed limiter in it and remove it.

  • Antonio Noriega

    You need to install Charles Proxy Certificate
    1. On Help Menu -> SSL Proxing -> Install Charles Root Certificate…
    2. In KeyChain, install the certificate on System
    3. Open the Certificate, and change Trust, When using this certificate to “Always Trust”

    On recent test I didn’t find the “Short version”

    Try Again.

  • Juan Picans

    I had some trouble using this method to get gmail.ipa 4.3 with current itunes version and OS X Sierra. New gmail update sucks; iTunes wouldn’t accept server certificate; just uninstalled current itunes, downloaded itunes 12.4.3 from apple site, fresh itunes install, deleted itunes library, ran itunes and began tutorial steps, this itunes version just asked me if I wanted to trust server, and wala, I got gmail 4.3 ipa file. Thanks a lot, this tutorial helped me a lot.

  • Paul Flood

    I’m trying this with the latest 4.0.2 and 12.5.3 iTunes and when I try to download Facebook the second time I get “Could not purchase “Facebook”. A secure network connection could not be established” – The certificate chain for this server is invalid. If I go back and Disable SSL Proxying it starts working again… Why is this, has a version changed stopped this ???

  • Aron Taylor

    I think iTunes has blocked this from working anymore. Anyone else run into an error that say iTunes can’t establish a secure network whenever Charles is running?