Как установить старую версию любого приложения на iPhone и iPad
Довольно частая ситуация — вы обновляете приложение или игру и вместо улучшенной производительности и новых функций получаете совершенно нерабочее средство. Допускают подобные оплошности разработчики всех мастей, а откатиться с новой версии на старую можно только при помощи инструмента Charles Proxy.
Пригодиться программа Charles Proxy может и в тех случаях, когда в новых версиях приложений или игр какие-то функции были удалены. Примеров таких удаленных функций можно привести целую массу, взять хотя бы официальные приложения «ВКонтакте» или YouTube, последняя версия которого вызывает у пользователей лишь негативные эмоции.
Сразу хотим отметить, что несмотря на кажущуюся сложность, установить старую версию любого приложения может любой пользователь. Главное — четко следуйте инструкции. В ней мы установили на iPad одну из первых версий приложения популярной социальной сети Instagram.
Как установить старую версию любого приложения на iPhone и iPad
Шаг 1. Загрузите, установите и запустите инструмент Charles для Windows или Mac (скачать)
Шаг 2. Запустите iTunes и начните скачивать приложение, старую версию которого вы хотите установить на свой iPhone или iPad
Шаг 3. В окне Charles выберите сервер iTunes, с которого происходит загрузка приложения, со словом «buy». Нажмите на название сервера правой кнопкой и выберите пункт Enable SSL Proxying
Шаг 4. Вернитесь в окно iTunes и остановите загрузку приложения
Примечание: если приложение уже загрузилось, то его нужно удалить в разделе «Мои программы»
Шаг 5. Вновь найдите нужное приложение в iTunes и повторно начните его загрузку
Шаг 6. Перейдите в окно Charles и найдите еще одну строчку со словом «buy» — это именно тот объект, который мы ищем. Вернитесь в iTunes и остановите загрузку приложения
Шаг 7. Раскройте найденную ветку со словом «buy» в Charles и найдите строчку buyProduct
Шаг 8. Выберите строчку buyProduct и перейдите на вкладку Response, где укажите тип отображения XML Text
Шаг 9. На экране, после строчки softwareVersionExternalIdentifiers, вы увидите строчки вида:
2948163
3091092
3107891
3171975
3194579
3240261
где семизначное число означает номера версий приложения, расположенные в порядке возрастания. В нашем примере мы откатили Instagram на по-настоящему древнюю версию 1.8.7, номер сборки которой был первым в списке. На практике же, откатываться чаще всего необходимо до предыдущей версии, поэтому рекомендуется выбирать номер сборки (тот, что заключен в тег ) как можно ближе к финальной версии.
Шаг 10. Сделайте правый клик на пункте buyProduct и выберите Edit
Шаг 11. Выберите раздел XML Text и найдите в поле строчку:
где XXXX — последняя версия приложения. Вместо XXXX вам нужно вставить скопированное в шаге 9 значение, после чего нажать Execute. В нашем примере мы меняли номер 81542337 на 2948163, тем самым откатывая самую последнюю версию Instagram до самой ранней.
Шаг 12. Опять нажмите правой кнопкой на пункт buyProduct и выберите пункт Breakpoints
Шаг 14. Зайдите в iTunes, найдите ваше приложение и обновите страницу (Ctrl + R в Windows). После этого начните загрузку средства
Шаг 15. Через мгновение после нажатия вами кнопки загрузки, вас перенесет в Charles, где нужно переключиться на экран Edit Request —> XML Text. В поле XXXX вместо «XXX» вставьте номер сборки, скопированный вами на 9 шаге, после чего нажмите кнопку Execute.
Шаг 16. Затем опять нажмите Execute
Шаг 17. Перейдите в iTunes и убедитесь в том, что загрузка приложения началась. Дождитесь окончания загрузки
Шаг 18. В iTunes выберите вкладку «Мои программы», найдите ваше приложение и сделав по ней правый клик выберите пункт «Сведения». Здесь вы можете убедится в том, что скачивается именно старая версия приложения
Шаг 19. Удалите с вашего iPhone или iPad новую версию необходимого приложения, подключите устройство к iTunes и установите старую сборку
Шаг 20. После окончания синхронизации на вашем смартфоне или планшете окажется старая версия необходимого приложения
Как откатить обновление приложения на iOS
Случается так, что после обновления приложения для iPhone или iPad необходимо совершить «откат» и возникает вопрос как вернуться к предыдущей версии . Пользователь AndreyYu на geektimes.com решил вопрос.
Раньше достать ipa—файл приложения было делом 2 минут, достаточно было зайти на apptrackr и скачать, но он перестал работать и других подобных ресурсов дающих честно скачать ipa файл обнаружено не было (но вдруг вы такие знаете?).
Подпишитесь на наш канал в Телеграме, чтобы узнать больше полезных советов
Остались следующие способы получения старой версии приложения:
- У вас в iTunes лежит старый бэкап приложений с телефона и тогда можно просто скопировать приложение обратно (но у меня такого не было).
- Воспользоваться способом, описанным на скорую руку кем-то в интернете с помощью софта под названием Charles. Данный способ описан на ресурсах вроде 4dpa и пере-копирован множествами лиц без понимания что там вообще написано, однако, без дополнительных >100 грамм разобраться с этой писаниной сложно.
Возможно, я это сделаю более полно, с картинками и в более простой понятной форме. В общем, чтобы скачать софт старой версии из AppStore потребуется минут 5 времени и в моём случае Mac OS X. Способ явно будет работать и на Windows, т.к. приложение Charles есть и для этой системы.
Все ваши мучения начнутся ещё до того, как вы скачаете Charles. Дело в том, что если вы обновляете iTunes на Mac, то у вас будет отсутствовать возможность устанавливать приложения, начиная с версии 12.7. Чтобы её вернуть, нужно установить обратно версию 12.6.4.
Что делать дальше чтобы откатить обновление приложения на iOS
Коротко: загрузить приложение через AppStore в iTunes, затем включить прокси, затем загрузить ещё раз, отредактировать запрос, отправить запрос, получить старую версию, установить.
Подробно: после запуска Charles нужно установить сертификаты приложения в Mac. Это делается через меню Help → SSL Proxying → Install Charles Root Cetrificate. Сертификат затем нужно в Keychain Access перевести в статус Always Trust. Если не установить, то будут ошибки и метод не сработает.
В iTunes ищем приложение Inoreader (это для любого приложения подойдёт, но меня интересовало в тот момент только оно), запускаем Charles и нажимаем в окне установки приложения Download:
В окне Charles у вас появляется подобная строчка со слово «buy» в адресе, связанная с сервером apple:
Для информации можно обратить внимание на то, что размер скачиваемого файла равен 20,4 мб:
После чего нужно включить SSL Proxying для осуществления перехвата и редактирования запросов:
Т.к., вероятней всего, у вас быстрый интернет и приложение уже успело загрузиться в библиотеку приложений, то необходимо его оттуда удалить.
Ещё раз проверяем, что SSL Proxying включен и переходим к повторной загрузке приложения из AppStore при этом нужно поставить загрузку на паузу, чтобы у вас было время на следующие действия. После нажатия на Download в окне Charles появится ещё одна строка в сервером apple, содержащая слово «buy». Развернув эту строку нужно найти buyProduct:
Справа в окне нажимаем на Contents и внизу выбираем XML Text. Листаем вниз пока не найдем softwareVersionExternalIdentifiers со списком не понятным цифр.
Эти цифры и выступают в роли версий приложений. Соответственно, чем меньше число, тем старее версия приложения. Как узнать какая версия приложения будет загружена? Например, я наугад брал с конца списка значение 823964615:
Теперь нам нужно проверить версию приложения. Для этого мы делаем встаем на «buyProduct» и в меню выбираем Compose и справа в окне представление Text.
В самом верху поля будет знакомый вам набор цифр после параметра appExtVrsId . Этот набор цифр — актуальная версия приложения.
Вместо этих цифр подставляем скопированные выше 823964615 и должно получиться вот так:
и делаем Execute. Программа выдаст вам окно и выбрав режим отображения XML Text мы сможем внизу найти параметр bundleShortVersionString и увидим, что выбранное нами значение соответствует версии 5.4.4, что в моём случае то что нужно, т.к. эти версия практически последней перед обновлением до 6.0
Остаётся один шаг. Нужно скачать всё это дело. Для этого нужно в нашем последнем отредактированном запросе buyProduct с полученной версией 5.4.4 в меню выбрать Breakpoints.
По новой перейти в AppStore для загрузки приложения Inoreader (если приложение успело загрузиться в библиотеку и вы не успели его остановить, то просто удалите, чтобы была возможность загрузить заново).
Как только вы в iTunes нажмете скачать, то выскочит окно Charles, где нужно будет нажать на Edit Request и в уже знакомом параметре appExtVrsId исправить версию на 823964615, нажать Execute, а затем ещё раз на Execute.
В итоге у вас начнётся загрузка приложения и можно будет увидеть, что размер приложения изменился в меньшую сторону:
В библиотеке приложений itunes появится значок программы с ярлыком Update. Это и будет означать, что вы сделали всё верно. Можно сделать Get Info приложения и будет написано:
Дальше у приложения смотрим где оно находится в файловой системе и сохраняем на будущее если вдруг решите обновить приложение 🙂
По завершение работы следует в Charles сделать Disable SSL Proxying кликом на сервере p30-buy.itunes.apple.com.
Надо сказать, что получилось проделать у меня данную процедуру с 2 раза.
Надеюсь, это будет кому-то так же полезно как оказалось мне.