Charlie программа для айфона

Обновлено: 07.07.2024

Как установить старую версию приложения на iPhone и iPad

Не всегда обновления приложений несут в себе что-то новое и полезное, зачастую устраняются одни ошибки, но тут же появляются другие. Хуже, когда после обновления появляется реклама или пропадают полезные функции, а таких случаев очень много.

В данном материале мы расскажем, как откатить версию приложения на iOS с помощью программ Charles и iTunes. Но прежде чем приступить, обратите внимание:

  • инструкция работает только на версии Charles 4, проверялась на Charles 4.0.2 (программа платная, но имеет неограниченный пробный период, пробная версия прекращает свою работу через каждые полчаса);
  • максимальная версия iTunes для macOS - 12.3.3, для Windows - 12.2.2, на следующих версиях данный способ уже не работает: либо программа iTunes не запускается, либо нет кнопки Загрузить (12.4-12.4.3), либо появляется ошибка
    «iTunes не может проверить подлинность сервера. Недействительный сертификат сервера» (12.5-12.6.5).

Как откатить версию приложения на iPhone и iPad

Как описывалось выше, инструкция будет работать только на Tunes 12.3.3 (macOS) и 12.2.2 (Windows). Для использования версий 12.6.3-12.6.5 нужно установить сертификат Charles. Если у вас установленна последняя версия iTunes, ее нужно удалить (в macOS High Sierra и Mojave предварительно требуется отключить SIP). Загрузить любую версию iTunes для macOS и Windows можно с этого или этого сайта.

Если у вас появляется предупреждение, что сертификат сервера недействительный и нет кнопки Продолжить , нужно добавить сертификат Charles на свой компьютер

В строчке <integer> указывается текущая версия приложения, а под ней уже идут идентификаторы всех предыдущих версий:

<key>softwareVersionExternalIdentifies</key>
<integer>785833618</integer>
<integer>811158353</integer>
<integer>811420549</integer>
<integer>811474632</integer>

Выберите версию, которую Вы хотите установить и скопируйте ее номер

После выполнения всех операций не забудьте в Charles вернуть все по умолчанию, снова перейдите в программу, выберите строчку «buyProduct», кликните по ней правой клавишей мыши и нажмите Disable SSL Proxying , а также снимите галочку с Breakpoints или просто удалите программу.

Как установить сертификат Charles на компьютере

В программе Charles откройте Help → SSL Proxying и нажмите Install Charles Root Certificate . Откроется окно для добавления сертификата, нажмите Добавить для macOS и Установить сертификат для Windows

Появится новое окно «Мастер импорта сертификата», выберите расположение Текущий пользователь и нажмите Далее . Потом Поместить все сертификаты в следующее хранилище , кликните по кнопке Обзор и выберите Доверенные корневые центры сертификации . Для завершения нажмите кнопки Далее и Готово

Инструкция непростая и требует усилий, но это того стоит, если Вы хотите вернуть старую версию приложения.

Расскажите об этом лайфхаке своим друзьями, поделитесь с ними ссылкой в соц.сетях и подписывайтесь на наши паблики в Facebook, Twitter или Вконтакте

Ну вот вы и обновили своё любимое приложение до самой последней актуальной версии, но разработчики допустили ошибку и программа стала работать хуже, или вовсе урезали её функционал (например, удаление раздела Аудиозаписи из приложения Вконтакте). Огорчаться не стоит, существует способ, позволяющий сделать даунгрэйд приложений App Store.

Как установить старую версию приложений App Store на iPhone и iPad с без джейлбрейка

1. Скачайте утилиту Charles для Windows, OS X или Linux с официального сайта разработчика. Программа платная, но предоставляются первые 30 дней без необходимости осуществлять платёж.

Charles

2. Закройте окно браузера.

3. Установите и запустите Charles.

Charles

4. Предоставьте привелегии программе нажатием кнопки «Grant Priveleges», а затем «Install».

Charles

5. Откройте iTunes, найдите интересующее приложение и нажмите на кнопку скачивания.

Charles

7. Нажмите правой клавишей по этой строчке и выберите пункт меню «Enable SSL Proxying».

Charles

8. Вернитесь в iTunes, остановите загрузку приложения и удалите её нажатием клавиши «Delete».

Charles

9. В поиске iTunes ещё раз введите название интересующего приложения, а перейдя на его страничку, вы тем самым обновите контент.

10. Заново нажмите кнопку «Загрузить».

12. Кликните правой клавишей мыши по файлу «buyProduct» и выберите пункт «Export».

Charles

13. Сохраните файл в формате «XML Summary file (.xml)».

Charles

14. Нажмите правой кнопкой мыши по сохранённому файлу в формате .xml и в контекстном меню выберите Открыть в программе → TextEdit (для этой процедуры подойдёт любой текстовый редактор).

Charles

15. Прокрутите код вниз пока не найдёте строчку <key>softwareVersionExternalIdentifiers</key>, под которой будет расположен текст в следующем формате:

Это все возможные версии приложений, начиная от самых старых и заканчивая последней.

Charles

16. Скопируйте номер версии.

17. Вернитесь Charles и тапните правой клавишей мыши по buyProduct и кликните «Edit».

Charles

18. В нижней части выберите вид «Text» и в верхней части текста найдите следующую строчку:

Charles

19. Под ней между ключами <string>XXXX</string> замените значение на скопированное с TextEdit.

20. Внизу нажмите кнопку «Execute».

21. Charles создаст в ветке новый файл «buyProduct» (в самом низу папки «wa»).

22. Перейдите в вкладку «Response», а в качестве вида выберите «XML Text».

Charles

23. Отыщите в коде строчку с названием приложения и его версией.

ВНИМАНИЕ! Если версия приложения вас не устраивает, то методом перебора повторите пункты 16-23, подставляя другие значения в ключ <string>XXXX</string>.

24. Кликните правой клавишей мыши по «buyProduct» и активируйте «Breakpoints».

Charles

25. Переключитесь в iTunes, обновите страницу с приложением и вновь скачайте его.

26. Отобразиться новое окно Charles с Breakpoints.

Charles

27. Перейдите во вкладку «Edit Request» и кликните по «XML Text».

Charles

28. В строчке <string>XXXX</string> вставьте свою версию приложения, которую вы копировали в пункте 16.

29. Внизу нажмите кнопку «Execute».

30. Откроется новое окно Charles с Breakpoints в котором ещё раз нажмите кнопку «Execute».

Charles

31. Дождитесь окончания процесса скачивания приложения в iTunes.

32. Перейдите во вкладку «Мои программы» и отыщите скачанное предложение.

Charles

33. Кликните по нему правой клавишей мыши и нажмите «Сведения».

34. Как видите, в нашем случае мы скачали SoundCloud версии 3.9.1 в то время как актуальная версия 3.15.0.

Charles

Charles

34. Подключите iPhone, iPod touch или iPad к Mac или PC.

35. Синхронизируйте приложение или просто перетащите его на иконку с устройством.

Как установить старую версию приложений App Store на iPhone и iPad с джейлбрейком без компьютера

1. Установите в Cydia файловый менеджер iFile, благодаря которому можно получить доступ ко всем директориям накопителя.

App Admin

2. Запустите iFile и пройдите в /private/var/mobile/Containers/Bundle/Application/. Здесь вы увидите список всех установленных приложений на iPhone, iPod touch или iPad, но, к сожалению, со странными именами. Так что искать приложение надо будет наугад, открывая каждую папку и смотря на название «ХХХ.app», где XXX — название приложения.

App Admin

Кстати, чтобы каждый раз не переходить по этому длинному пути (/private/var/mobile/Containers/Bundle/Application/), добавьте папку в закладки. Чтобы это сделать:

а) на нижней панели тапните по иконке с ярлыками/закладками;

б) перейдите на вкладку «Закладки»;

App Admin

в) нажмите на плюсик в правом нижнем углу дисплея;

App Admin

г) при необходимости измените название закладки, например «Все приложения» и нажмите «Создать».

3. Отыщите необходимое приложение, версию которого вы хотите откатить.

App Admin

4. Откройте файл «iTunesMetadata.plist» и нажмите «Редактор текста».

5. Прокрутите страницу вниз, пока не увидите текст формата:

App Admin

Цифры относятся к версии программы. Скопируйте любую из версий. Их в дальнейшем также придётся перебирать наугад.

6. Установите бесплатный джейлбрейк-твик App Admin из репозитория Cydia BigBoss.

App Admin

7. Откройте App Store и найдите интересующее приложение.

App Admin

8. Вне зависимости от того, установлено оно или нет, нажмите кнопку «Загрузить / Открыть».

App Admin

10. Попав в раздел «Known Versions», вы можете выбрать одну из имеющихся в списке старых версий, а если точной версии нет, то нажмите плюсик в правом верхнем углу и вставьте туда скопированный в седьмом пункте код.

App Admin

11. Дождитесь окончания установки (скачивание приложения может происходить очень медленно. Не беспокойтесь, это нормально).

App Admin

App Admin

Как видите, мы установили старую версию приложения «Вконтакте», в которой ещё был раздел Аудиозаписи.

App Admin

App Admin

В App Store рядом с приложением, разумеется, будет надпись «Обновить», после нажатия на которую вы получите последнюю версию.

Сегодня будет небольшая запись для любителей яблочной техники. Наверняка многие из вас сталкивались с тем, что вы решили обновить приложение на своем любимом телефоне/планшете, а приложение внезапно или перестало стабильно работать, или оттуда убрали какие-то полезные функции (например во вконтакте теперь музыку не послушать, умный будильник из приложения Mi Fit для браслета убрали, экзаменационные билеты ПДД обновили, хотя может кто-то до сентября сдавать экзамен будет и ему не нужны ваши новые билеты и тп).

appstore

Так вот, как с этим быть? Скорее всего большинство из вас услышат только два ответа на этот вопрос:

  1. Никак, Жизньболь, Всётлен;
  2. Перейти на Андроид, там таких проблем нет.

Однако, есть и третий вариант (я сейчас не рассматриваю джейлбрейк и режим разработчика) - это скачать одну из предыдущих версий. При этом, всё легально и мы ничего не нарушим :)

Суть этого метода вот в чем: мы хотим скачать из AppStore приложение, AppStore в ответ присылает нам список доступных версий, мы выбираем нужную и скачиваем её. После этого устанавливаем приложение на свой родной iPhone или iPad .

Сейчас многие, наверное, удивились, ведь нам не предлагают никаких версий (кроме некоторых случаев, когда ваше устройство не поддерживает последнюю версию и вам предлагают скачать последнюю рабочую). Так вот, предлагают, просто мы об этом не знаем и наш iTunes сам решает за нас, скачивая последнюю версию.

Для работы нам понадобится: iTunes , мобильный девайс, и одна небольшая программка под названием Charles . Она платная, но её можно использовать в демо-режиме с полным функционалом, просто время от времени будет вылезать баннер со счетчиком и предложением купить программу, плюс она сама закроется через пол часа времени.

Charles Web Debugging Proxy

Итак, скачиваем Charles , например, отсюда. С установкой ничего сложного, поэтому запускаем её и видим баннер, который вы еще не раз увидите:

Баннер Charles

После 10 секунд появится основное окно:

Основное окно Charles

Теперь немного о том, что эта программа, собственно, делает. А делает она следующее: она мониторит сеть и показывает какие запросы были отправлены и какие ответы были получены (да, это прокси). Однако для правильной работы нужно правильно выставить настройки прокси, но нас сейчас это не интересует.

Теперь открываем iTunes , в поиске AppStore вводим VK , жмем Enter , находим оф приложение от ВК и скачиваем его:

VK App в iTunes

Достаточно загрузить процентов 10 от приложения, после чего смело отменяйте загрузку (выберите загрузку и нажмите на клавишу Delete ):

Отмена загрузки

Это нам нужно, чтобы Charles получил информацию. Открываем теперь его и видит примерно такое:

Список запросов в Charles

Фактически, он просто мониторит обычные POST/GET запросы и обрабатывает их содержимое в удобном для нас виде (запросы от Apple передаются, например, в xml синтаксисе)

Дело в том, что это зашифрованный запрос и по-умолчанию Charles не показывает такие запросы. Так что щелкаем правой кнопкой по строчке и выбираем Enable SSL Proxying :

Включаем прослушку SSL

Далее снова повторяем фишку с загрузкой приложения (если у вас написано "Загружено", хотя вы отменили загрузку, то обновите страницу нажатием на заголовок приложения) и её последующей отмены (если не отменить, то придется удалять приложение, а это лишние телодвижения). Затем переходим обратно в Charles , раскрываем список и переходим по пути WebObjects - MZBuy.woa - wa - buyProduct . Далее щелкаем на buyProduct и в правом окне переходим в панель Response . Прокручиваем наш ответ от AppStore до строчки <key>softwareVersionExternalIdentifiers</key> :

Список версий VK App

Ниже вы увидите список номеров версий (да, это не сами версии, а некий номер). К сожалению, узнать какому номеру какая версия соответствует мы не сможем, поэтому придется идти наугад. Нам нужна версия 2.0 , потому что это последняя версия, где можно было слушать аудиозаписи. Сохраняем весь список с номерами, он нам потом пригодится.

Далее следуем по методу дихотомии (если выбранная нами версия выше, чем 2.0 , то ниже по списку идти не нужно, она где-то выше и наоборот). Выбираем, например, номер 813678592 . Сохраняем где-нибудь и, самое главное, теперь жмем правой кнопкой по buyProduct и выбираем пункт Breakpoints :

Выставляем брейкпоинты в Charles

Далее у меня истекли 30 минут и программа выдала:

Окончание пробного периода в Charles

Так что мне пришлось заново проделывать все операции :)

Меняем запрос в Charles

Меняем строчку номер 5 на <string>813678592</string> и жмем на кнопку Execute . После этого еще раз жмем на кнопку Execute и ждем когда приложение скачается. Смотрим версию скачанного нами приложения и видим:

Версия VK App

Увы, мимо. Удаляем эту версию и пробуем другой номер. При этом стоит учитывать, что там, по всей видимости, есть какие-то промежуточные версии, которые не будут скачиваться, вместо них скачается последняя (на данный момент - это версия 2.8 ). И таким образом находим тот самый номер 166062632 (я его угадал с двух попыток :) ):

VK App версии 2.0

На этом работа с Charles окончена и можно устанавливать приложение на ваше устройство. Только не забывайте, что старые версии могут несколько странно работать, особенно, если это приложения для социалок :)

При этом, если вам надоест слушать музыку, можете прямо на самом устройстве обновить приложение, как вы это обычно делаете. У меня таким образом стоит старая версия Mi Fit ( 1.6.2 , номер 816329811 , если кто пользуется браслетами Mi Band ), в которой умный будильник еще жив.

Послесловие

Как-то так. Таким нехитрым способом можно установить практически любую версию практически любого приложения, т.к. многие разработчики оставили список версий для совместимости со старыми устройствами :)

Как и всегда, если есть какие-то вопросы, то добро пожаловать в комментарии к этой статье.

PS: За существование оной статьи отдельное спасибо другу проекта и члену нашей команды под ником “barn4k“.

Белов Андрей (Sonikelf) Заметки Сис.Админа [Sonikelf's Project's] Космодамианская наб., 32-34 Россия, Москва (916) 174-8226

app store 8

Снимок экрана 2016-04-10 в 15.47.46

Снимок экрана 2016-04-10 в 15.49.23

Запускаем iTunes и ставим на загрузку нужное приложение. Мы решили взять в качестве примера Moves (2.7.10).

Снимок экрана 2016-04-10 в 15.59.36

Снова идём в iTunes и убиваем загрузку: щёлкаем на значок со стрелочкой в правом верхнем углу, кликаем по качающемуся приложению, а затем с зажатой клавишей FN 2 раза жмём Backspace, пока объект не исчезнет. Заодно не мешает очистить корзину.

Теперь снова вбиваем в поиск Moves (либо нажимаем на большую иконку приложения) и снова начинаем загрузку.

Снимок экрана 2016-04-10 в 16.00.07 2

Снимок экрана 2016-04-10 в 16.00.15 2

Снимок экрана 2016-04-10 в 16.01.37

Открываем сохранённый файл любым текстовым редактором (у нас Coda 2), листаем вниз и ищем строки, аналогичные этим:

<integer>6940998</integer>
<integer>10969069</integer>
<integer>11758907</integer>
<integer>12262840</integer>
<integer>12679839</integer>

Снимок экрана 2016-04-10 в 16.07.27

Возвращаемся к Charles. Жмём на buyProduct и выбираем Edit.

Снимок экрана 2016-04-10 в 16.07.43 2

Щёлкаем по кнопке Text в правом поле. На четвёртой строке располагаются теги <key>:

А под ними теги <string> и ключевое значение текущей версии приложения.

Замените число между этими тегами <string> тем, что скопировали в шаге выше, когда отсчитывали правильную версию. Нажмите Execute внизу.

Снимок экрана 2016-04-10 в 16.10.17 2

Кликаем правой кнопкой по buyProduct и выбираем Breakpoints.

Снимок экрана 2016-04-10 в 16.15.02

Заходим в iTunes, вбиваем в поиск приложение и загружаем его. Практически сразу загрузка приостановится, а на экране появится вот такое окошко.

Снимок экрана 2016-04-10 в 16.15.30

Жмём на Edit Request, чуть ниже выбрав XML Text.

Снимок экрана 2016-04-10 в 16.15.56 2

В пятую строку, между тегами <string>, нужно вставить версию, которую вы уже копировали и на которую желаете откатиться. Теперь давим на Execute.

Снимок экрана 2016-04-10 в 16.16.56

Снимок экрана 2016-04-10 в 15.40.36

Загрузка в iTunes должна продолжиться. В итоге в медиатеке появится старенькая версия приложения. Чтобы проверить её, перейдите в Мои программы, найдите там желаемый объект, кликните по нему правой кнопкой мыши и выберите Сведения. Там как раз и отобразятся текущие цифры, которые должны вас порадовать ;)

Обязательно удалите свежую версию с iPhone/iPad перед синхронизацией, а также неплохо было бы отключить автоматическое обновление программ в настройках iOS. Без лишней надобности можно и с Charles расстаться. На этом, пожалуй, всё. Удачных вам даунгрейдов ;)

Пока интернет бурлит новостями на тему обхода блокировок телеграма и сопутствующих с этим проблем у хостинговых компаний у меня была проблема посерьёзней — компания Innologica обновила до версии 6 приложение Inoreader для iOS.

Тихим будничным вечером приложение в телефоне было случайно обновлено до последней версии, т.к. обычно ничто не предвещало беды. Спустя пару дней во время поездки программа была запущена для чтения новостей и я не на шутку начал переживать.

Можно сравнить как было и как стало в двух примерах:



Конечно, на вкус и цвет и владельцы iPhone X были явно рады оптимизации под amoled-экраны, но именно этот апдейт побудил искать решения как откатить приложение назад, чего по умолчанию AppStore не позволяет делать.

Раньше достать ipa--файл приложения было делом 2 минут, достаточно было зайти на apptrackr и скачать, но он перестал работать и других подобных ресурсов дающих честно скачать ipa файл обнаружено не было (но вдруг вы такие знаете?).

Остались следующие способы получения старой версии приложения:

  1. У вас в iTunes лежит старый бэкап приложений с телефона и тогда можно просто скопировать приложение обратно (но у меня такого не было).
  2. Воспользоваться способом, описанным на скорую руку кем-то в интернете с помощью софта под названием Charles. Данный способ описан на ресурсах вроде 4dpa и пере-копирован множествами лиц без понимания что там вообще написано, однако, без дополнительных >100 грамм разобраться с этой писаниной сложно.

Все ваши мучения начнутся ещё до того, как вы скачаете Charles. Дело в том, что если вы обновляете iTunes на Mac, то у вас будет отсутствовать возможность устанавливать приложения, начиная с версии 12.7. Чтобы её вернуть, нужно установить обратно версию 12.6.4.

Что мы будем делать дальше?

Подробно: после запуска Charles нужно установить сертификаты приложения в Mac. Это делается через меню HelpSSL ProxyingInstall 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.


В самом верху поля будет знакомый вам набор цифр после параметра <key>appExtVrsId</key>. Этот набор цифр — актуальная версия приложения.


Вместо этих цифр подставляем скопированные выше 823964615 и должно получиться вот так:


и делаем Execute. Программа выдаст вам окно и выбрав режим отображения XML Text мы сможем внизу найти параметр bundleShortVersionString и увидим, что выбранное нами значение соответствует версии 5.4.4, что в моём случае то что нужно, т.к. эти версия практически последней перед обновлением до 6.0



Остаётся один шаг. Нужно скачать всё это дело. Для этого нужно в нашем последнем отредактированном запросе buyProduct с полученной версией 5.4.4 в меню выбрать Breakpoints.


По новой перейти в AppStore для загрузки приложения Inoreader (если приложение успело загрузиться в библиотеку и вы не успели его остановить, то просто удалите, чтобы была возможность загрузить заново).



В итоге у вас начнётся загрузка приложения и можно будет увидеть, что размер приложения изменился в меньшую сторону:


В библиотеке приложений itunes появится значок программы с ярлыком Update. Это и будет означать, что вы сделали всё верно. Можно сделать Get Info приложения и будет написано:


Дальше у приложения смотрим где оно находится в файловой системе и сохраняем на будущее если вдруг решите обновить приложение :)

Надо сказать, что получилось проделать у меня данную процедуру с 2 раза.
Надеюсь, это будет кому-то так же полезно как оказалось мне.

Читайте также: