⬆️ ⬇️

Updated application on iOS? - Do not worry, roll back

While the Internet is boiling over news on the topic of circumventing telegram locks and related problems with hosting companies, I had a more serious problem — Innologica updated Inoreader for iOS to version 6.



On a quiet everyday evening, the application in the phone was accidentally updated to the latest version, since usually nothing foreshadows trouble. A couple of days later, during the trip, the program was launched to read the news and I began to worry about it.



You can compare how it was and how it became in two examples:





Of course, the taste and color and the owners of the iPhone X were clearly pleased with the optimization for amoled screens, but it was this update that prompted us to look for solutions on how to roll back the application, which the AppStore does not allow to do by default.

')

Previously, to get ipa - the application file was a matter of 2 minutes, it was enough to go to apptrackr and download, but it stopped working and no other similar resources allowing you to honestly download the ipa file were found (but suddenly you know these?).



The following ways to get the old version of the application remain:



  1. In iTunes you have an old backup of applications from your phone and then you can simply copy the application back (but I didn’t have this).
  2. Use the way described in a hurry by someone on the Internet using software called Charles. This method is described on resources like 4dpa and copied by sets of people without understanding what is written there, however, it is difficult to deal with this writing without additional> 100 grams.


Perhaps I will do this more fully, with pictures and in a more simple understandable form. In general, in order to download the old version software from the AppStore, it will take about 5 minutes and in my case Mac OS X. The method will obviously work on Windows, too. Charles app is for this system.



All your torment will begin even before you download Charles. The fact is that if you update iTunes on Mac, then you will not be able to install applications starting from version 12.7. To return it, you need to install version 12.6.4 back.



What will we do next?



In short : download the application through the AppStore in iTunes, then enable the proxy, then download again, edit the request, send the request, get the old version, install.



Details: after running Charles, you need to install application certificates in Mac. This is done through the menu HelpSSL ProxyingInstall Charles Root Cetrificate . The certificate then needs to be transferred to Keychain Access in the status of Always Trust. If you do not install, then there will be errors and the method will not work.



In iTunes, we are looking for the Inoreader application (this is suitable for any application, but I was only interested in that moment), launch Charles and click in the Download application installation window:





In the Charles window, you have a similar line with the word “buy” in the address associated with the apple server:





For information, you can pay attention to the fact that the size of the file being downloaded is 20.4 MB:





After that, you need to enable SSL Proxying to intercept and edit requests:





Since, most likely, you have fast Internet and the application has already downloaded to the application library, you need to remove it from there.



Once again, we check that SSL Proxying is enabled and proceed to reloading the application from the AppStore while you need to pause the download so that you have time for the following actions. After clicking on Download in the Charles window, another line will appear in the apple server, containing the word “buy”. Expanding this line you need to find buyProduct :





On the right in the window click on Contents and at the bottom select XML Text . Scroll down until we find the softwareVersionExternalIdentifiers with a list of incomprehensible numbers.





These numbers act as application versions. Accordingly, the smaller the number, the older the version of the application. How to find out which version of the application will be downloaded? For example, I randomly took the value 823964615 from the end of the list:





Now we need to check the version of the application. To do this, we get up to buyProduct and select Compose from the menu and the Text view in the right-hand side of the window.





At the very top of the field there will be a familiar set of numbers after the <key> appExtVrsId </ key> parameter. This set of numbers is the current version of the application.





Instead of these numbers, we substitute 823964615 copied above and it should turn out like this:





and do the execute . The program will give you a window and selecting the XML Text display mode, we can find the bundleShortVersionString parameter at the bottom and see that the value we selected corresponds to version 5.4.4, which in my case is what you need, because these versions are almost the latest before upgrading to 6.0





It remains one step. Need to download the whole thing. To do this, in our last edited buyProduct request with the received version 5.4.4, select Breakpoints in the menu.





On a new switch to the AppStore to download the Inoreader application (if the application managed to load into the library and you did not have time to stop it, then just delete so that you can download again).



Once you click Download in iTunes, the Charles window pops up, where you need to click on Edit Request and, in the appExtVrsId parameter already familiar to you, fix the version to 823964615, click Execute , and then again on Execute .





As a result, you will start downloading the application and you will see that the size of the application has changed in the smaller direction:





The program icon with the Update label appears in the itunes application library. This will mean that you did everything right. You can make Get Info applications and it will be written:





Then we look at the application where it is in the file system and save it for the future if you suddenly decide to update the application :)



Upon completion of work in Charles should be done Disable SSL Proxying by clicking on the server p30-buy.itunes.apple.com.



I must say that I managed to do this procedure from 2 times.

I hope it will be as useful to someone as it turned out to be for me.

Source: https://habr.com/ru/post/356304/



All Articles