This guide is based on How to Downgrade Apps on AppStore with iTunes 12.6.5 & Charles Proxy by @qnblackcat
- iTunes 12.6.5 only works on Windows. Apple killed iTunes 12.6.5 on macOS. Even if you manage to get iTunes 12.6.5 on your Mac, the download feature will not work.
- The Guide seems complicated, but it's very easy to follow. Plus, you only need to do first 4 steps once (There are 6 steps in total).
- Jailbreak is NOT needed. Since the IPA comes directly from iTunes, it's encrypted and can be installed without Sideload. The IPA is 100% legit!
- This guide is applicatble to other apps, not just Twitter, as long as that version is still available on AppStore.
- A Windows XP/Vista/7/8/10/11 machine.
- A cable to connect your mobile device to a PC.
- An Apple ID account for iTunes. The account should be the same as the account you're using on your mobile device.
- If you already have a newer version of iTunes installed, uninstall it.
- Download and install iTunes 12.6.5.3 - 32bit | 64bit
- After you install iTunes, go to Edit > Preferences > Advanced and untick Check for new software updates automatically to prevent iTunes from asking for update.
- If you get an error about Library.itl when opening iTunes: Go to
C:\Users\<YOUR USER>\Music\iTunes\
and delete theLibrary.itl
file. - Login to iTunes with your Apple ID: Account > Sign-in.
- Download and install Charles.
- Open Charles and navigate to Help > SSL Proxying > Install Charles Root Certificate.
- The Certificate window should appear. In this window, click Install Certificate.
- The Certificate Import Wizard window should appear. Select Local Machine and press Next.
- Confirm User Account Control prompt.
- On the next page, select Place all certificates in the following store and press Browse.
- The Select Certificate Store window should appear. Select Trusted Root Certificate Authorities from the list, click OK Button, then press Next in the Certificate Import Wizard to go to the final step.
- On the final step, press Finish.
- Enable Apps section in the switcher.
- Open App Store.
- Scroll down and open Top Free Apps section.
- Scroll down until you find X (Twitter) and click on its icon.
- In iTunes, press Download button.
iTunes will start a download of the recent version of X. This is not the version we want, all we need now is Charles to catch the request iTunes makes when it starts a download.
- Now select the download in the popup and press Delete key on the keyboard twice to stop the download and delete it from the list.
- Now switch to Charles. On the left side of the Charles window you'll see a list of domains.
- Find a domain that has a form of
pNN-buy.itunes.apple.com
, whereNN
is a two-digit number. - Right-click on it and select Enable SSL Proxying, then clear the list using the first button on the toolbar.
- We need to download the app again. If you go back to iTunes, you will likely see that Download button is greyed out. If this is the case, try refreshing the page by pressing
Ctrl+R
. If it didn't help, check if the X app is present in the Library tab. If it is, select it, press Delete key on the keyboard and confirm the deletion, then go back to the AppStore tab. - Press the Download button again and cancel the download like you did in the previous step.
- Now switch to Charles.
- On the left side of the Charles window you'll see a list of domains. Find an entry that has a form of
p**-buy.itunes.apple.com
and expand it until you see abuyProduct
element. Select it and then press the pencil icon on the toolbar.
- A second
buyProduct
element should appear in the tree. Click Execute button on the bottom right.
- A third
buyProduct
element should appear in the tree. Right click on it and select Breakpoints.
- Clear the list again by pressing the first icon on the toolbar.
- We need to download the app again. Go to iTunes and refresh the page, like you did earlier.
- Press the Download button again, but this time you don't have to stop and delete the download.
- Go back to Charles. Now you should see that Charles catched and paused the request made by iTunes. Press Execute.
- Now Charles should show you a response it got from the server. Go to Edit Response tab (on the top), then XML Text tab (on then bottom).
- Scroll the content area until you find a key named
softwareVersionExternalIdentifiers
. Select an array that follows the key and copy it to clipboard by pressingCtrl+C
then press Abort.
- Open Notepad or any other text editor and paste the text from clipboard. It's the full list of application version IDs for Twitter app that iTunes is aware of.
- Go back to iTunes. If you see an ongoing operation on the top of the window, click the x button and then refresh the page like before.
(Finally!)
- First, we need to determine which version we want to download. Unfortunately, there's no way to match the version IDs we got to the actual human-readable versions (like 9.91), but at least version IDs are incremental and the array we've got is pre-sorted, so we can download as many versions as we want and check their versions after the download is finished.
- Let's choose a version from the list. I already know that the version with ID =
848783955
corresponds to version9.10.1
, it doesn't work (as of August 12, 2023) and simply asks for update when launched. And version with ID =852780561
corresponds to version9.33
and it works just fine (as of August 12, 2023). You can select any version you want from the list and try it yourself, just replace the852780561
in this following steps with the version ID you choosed. - Go to iTunes and refresh the page, like you did earlier.
- Press the Download button again, but this time you don't have to stop and delete the download.
- Go back to Charles. Now you should see that Charles catched and paused the request made by iTunes. Go to Edit Request tab (on the top), then XML Text (on the bottom).
- Replace the ID after the
AppExtVrsId
key to the one you choose (e.g.852780561
) and then press Execute.
- Now Charles should show you a response it got from the server. We don't have to modify a response, so just press Execute again.
- Now iTunes should download an old version of the application.
- Wait until the download is finished, then open the following folder:
C:\Users\<YOUR USER>\Music\iTunes\iTunes Media\Mobile Applications
In this folder you should find the downloaded application with the human-readable versions in its name.
- If you have Twitter/X already installed on your mobile device - uninstall it.
- Download AppManager, extract the downloaded archive and run
AppManager.exe
. - Connect your mobile device to your Windows machine via cable.
- In the
AppManager
click on Install new button and select the IPA file you downloaded from iTunes.
- AppManager will transfer the file to your device and perform the installation. This process isn't fast, wait for the success message to appear in the log.
- Now your old version of Twitter app is installed and ready to use. Congratulations!
If you want to try another version, you should restart from Step 5. Download the old version of the application.