Приложение charlie для ios. Как откатить обновление для любого приложения на iPhone и iPad. Видео: откат iOS с любой версии на более старую

Привет, сегодня я расскажу вам о способе отката любых iOS-приложений с помощью iTunes и программы Charles без джейлбрейка.

Ранее, я писал статью о способе отката на iOS 8.4.1 с версии 9.3.5, и у большинства пользователей, включая меня, возникла такая проблема, что множество приложений требуют версию системы начиная с 9, а разработчик не дает загрузить более раннюю версию программы, поддерживающую старую версию ОС. Из таких выделю Google с их приложениями - Chrome и YouTube.

Данный способ подойдет абсолютно для любых девайсов на любой версии iOS!

Что нужно:

  • iTunes версии 12.4.2 - последние версии работать с данным методом не будут! Поэтому, если у вас установлена последняя версия «тунца» - удаляем её и ставим указанную в статье.
  • Charles последней версии.
  • Способ подходит для Mac и Windows
Переходим к инструкции:
  1. Запускаем Charles.
  • Запускаем iTunes - переходим во вкладку «Программы» и вводим в поиске название нужной вам программы, в моем случае это «Вконтакте для iPad» .
  • Начинаем загрузку программы. Перейдите в Charles, в списке «Structure» найдите вкладку с тегом «buy» и кликом правой кнопки мыши включите пункт «enable ssl proxing» .
  • Остановите загрузку в iTunes.
  • Снова найдите нужное вам приложение через поиск, начните загрузку и отмените её.
  • Откройте Charles, раскройте вкладку с тегом «buy» и найдите в ней файл “buyproduct ”.
  • Кликните на вкладку «Contents» и выберете тип отображения «XML Text».
  • В коде найдите вледующий тег: s oftwareVersionExternalIdentifiers.
  • Далее вы увидите примерно следующую информацию - это список ключей для разных версий, от самой старой до самой последней. Скопируйте ключ версии, которая вам требуется.
  • Перейдите в Charles - кликните на «buyproduct» и выберете «Edit».
  • Выберете «text» и найдите тег appExtVrsId, в котором замените значение на скопированное вами в пункте 9 и нажмите «Execute».
  • Кликните правой кнопкой мыши на «buyproduct» и включите «breakpoints».
  • Снова найдите нужное вам приложение в iTunes и загрузите его.
  • Перейдите в Charles.
  • Во всплывшем окне перейдите во вкладку «Edit Request».
  • Найдите тег appExtVrsId , введите скопированное вами значение, нажмите «Execute» (Если окно появится снова, просто еще раз нажмите Execute).





  • Гайд по установке не поддерживаемых игр и программ на iPhone, iPad прошлых поколений и под управлением прошлых версий iOS.

    Разработчики зачастую ставят ограничения на свои приложения, запрещая их запуск на устройствах прошлых поколений и/или со старой версией iOS . Для этого есть несколько причин:

    Приложение было скомпилировано (собрано) для более нового процессора

    Техническая причина. Если это так, то приложение было создано эксклюзивно для новых iPhone, iPad и заниматься его редактированием нет причин, так как оно всё равно на старых девайсах будет "падать".
    Вот лист процессоров, расположенных по моделям устройств:
    • iPhone 2G: ARM11
    • iPod touch: ARM11
    • iPhone 3G: ARM11
    • iPod touch 2g: ARMV6
    • iPhone 3GS: ARMV7
    • iPod touch 3g: ARMV7
    • iPhone 4: Apple A4
    • iPod touch 4: Apple A4
    • iPad: Apple A4
    • iPhone 4S: Apple A5
    • iPad 2: Apple A5
    • iPad 3: Apple A5X
    Иногда приложение использует библиотеку не участвующую в прошлой версии iOS, тут тоже увы ничего не поделаешь (ну мы же не собираемся терять свой драгоценный ).

    Однако иногда разработчики просто пытаются подтолкнуть пользователя к покупке нового iDevice"a или обновлению iOS для временного избавления от пиратства, например, как однажды это было сделано с iPhoto и iWork .

    Тогда отредактированным, это приложение спокойно запустится на вашем iPhone или iPad, без необходимости его обновления.
    В каждом приложении указаны его системные требования. Ваши требования - возможности указаны в:

    "/System/Library/CoreServices/SystemVersion.plist" "/System/Library/CoreServices/SpringBoard.app/***AP.plist"

    Эти листы нельзя редактировать, если на вашем устройстве не был сделан Jailbreak, но мы можем отредактировать требования приложения.

    Как поменять требования приложения для iPhone, iPad

    Что нам для этого надо:
    Архиватор 7-zip , редактор файлов типа *plist, такого как Plist Editor For Windows , файловый менеджер iFunBox , ну и IPA файл самого приложения.

    Процедура редактирования:

    1. Копируем куда-нибудь свой IPA файл;
    2. Открываем его при помощи 7-zip;
    3. Находим, извлекаем и открываем "iTunesMetadata.plist ". На первый раз советуем извлечь его и редактировать отдельно при помощи Plist Editor For Windows ;
    4. В нём вы найдёте строки "UIRequiredDeviceCapabilities ", или "MinimumOSVersion ". Вам просто нужно убрать требуемые DeviceCapabilities и поставить минимальным системным требованием iOS версии 1.0 Если нет строки "UIRequiredCapabilities " то не о чем беспокоиться, то же самое с "MinimumOSVersion ";

    Как поменять требования:
    Находим:

    200?"200px":""+(this.scrollHeight+5)+"px");">UIRequiredDeviceCapabilities

    armv7
    video-camera
    opengles-2


    Пустая строка выглядит вот так:

    200?"200px":""+(this.scrollHeight+5)+"px");">UIRequiredDeviceCapabilities


    Как поменять требования операционной системы:
    Находим:

    200?"200px":""+(this.scrollHeight+5)+"px");">MinimumOSVersion
    4.3


    Меняем:

    200?"200px":""+(this.scrollHeight+5)+"px");">MinimumOSVersion
    1.0



    5. Заменяем изменённым оригинальный plist ;
    6. Находим Info.plist в файле приложения и делаем то же, что мы делали с "iTunesMetadata.plist "
    7. Сохраняем;
    8. Устанавливаем при помощи iFunbox .

    Если установка не получается, смотрите сообщение об ошибке. Если это "0xe8003ffe"или "-402636802", то приложение росто было создано для другого процессора. Даже если вы мануально проинсталлируете приложение оно не запустится.

    Пробуйте, так как шанс запустить приложение возрастают в разы, по крайней мере на iOS 5.0 iPad 2 я iPhoto запустил.) Отписывайтесь.

    Если вы не нашли ответа на свой вопрос или у вас что-то не получилось, а в комментаряих ниже нет подходящего решения, задайте вопрос через нашу . Это быстро, просто, удобно и не требует регистрации. Ответы на свой и другие вопросы вы найдете в разделе.

    Присоединяйтесь к нам во

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

    Для установки «устаревшей» версии приложения или игры для iOS пользователям нужно:

    1. Скачать и установить приложение под названием . На официальном сайте можно найти версии для Windows, OS X и Linux.

    2. Найти в iTunes приложение, старую версию которого нужно установить.

    3. Начать загрузку приложения в iTunes и в Charles в разделе Structure найти активность вида «buy.itunes.apple.com ».

    4. Выбрать строку «buy.itunes.apple.com» и вызвать контекстное меню правой кнопкой мышки, далее включить пункт «».

    5. Остановить загрузку приложения в магазине.

    6. Удалить приложение из списка загрузок в iTunes.

    7. Найти нужное приложение в iTunes и еще раз запустить и остановить загрузку.

    8. В Charles раскрыть новую активность вида «buy.itunes.apple.com». В ней должно появиться несколько новых вложений. Выбрать пункт «buyProduct ».

    9. Перейти во вкладку Response и, нажав правой кнопкой мыши на «buyProduct», выбрать пункт «Export».

    10. Экспортировать файл с расширением XML. В качестве места для экспорта можно выбрать рабочий стол.

    11. Открыть XML файл и найти строку:

    softwareVersionExternalIdentifiers

    Под ней будут строки типа:

    1466803

    1529132

    1602608

    Это версии приложения, вышедшие ранее. Для установки «устаревшей» версии нужно выбрать один из номеров и скопировать его в буфер обмена.

    12. Вернуться в Charles.

    13. Вызвать контекстное меню на пункте «buyProduct» и выбрать пункт «Edit».

    14. В открывшемся окне перейти в раздел «Text», где найти строку:

    appExtVrsId

    Под ней в теге будет указана текущая версия приложения.

    15. Для установки «устаревшей» версии необходимо вставить между тегами номер более ранней версии приложения и нажать на клавишу «Excute».

    16. Нажать правой кнопкой мыши на последнюю запись «buyProduct» в списке под активностью «buy.itunes.apple.com» и выбрать пункт «Breakpoints».

    17. Снова найти в iTunes нужное приложение и запустить его скачивание.

    18. Вернутся в Charles, выбрать активность «buy.itunes.apple.com», а в правой части окна переключиться на Edit Request –> XML Text.

    19. В поле XXX вставить из буфера код, скопированный на шаге 11. Нажать кнопку Execute.

    20. На странице подтверждения еще раз нажать «Execute».

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

    22. Проверить в разделе «Мои приложения» версию только что скачанной программы или игры. Для этого нужно вызвать контекстное меню и выбрать пункт «Сведения».

    23. В случае если в библиотеке iTunes доступна «устаревшая» версия приложения можно подключать iPhone или iPad к компьютеру и переносить программу в память мобильного устройства, предварительно удалив более новую версию.

    Подробная видео инструкция от iDB:

    Случается так, что после обновления приложения для iPhone или iPad необходимо совершить «откат» и возникает вопрос как вернуться к предыдущей версии. Пользователь AndreyYu на geektimes.com решил вопрос.

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

    Подпишитесь на наш канал в Телеграме , чтобы узнать больше полезных советов

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

    1. У вас в iTunes лежит старый бэкап приложений с телефона и тогда можно просто скопировать приложение обратно (но у меня такого не было).
    2. Воспользоваться способом, описанным на скорую руку кем-то в интернете с помощью софта под названием 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 раза.
    Надеюсь, это будет кому-то так же полезно как оказалось мне.

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

    Пригодиться программа Charles Proxy может и в тех случаях, когда в новых версиях приложений или игр какие-то функции были удалены. Примеров таких удаленных функций можно привести целую массу, взять хотя бы официальные приложения «ВКонтакте» или YouTube, последняя версия которого вызывает у пользователей лишь негативные эмоции.

    Сразу хотим отметить, что несмотря на кажущуюся сложность, установить старую версию любого приложения может любой пользователь. Главное - четко следуйте инструкции. В ней мы установили на iPad одну из первых версий приложения популярной социальной сети Instagram.

    Шаг 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 и найдите в поле строчку:

    appExtVrsId
    XXXX

    где 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. После окончания синхронизации на вашем смартфоне или планшете окажется старая версия необходимого приложения