Приложение 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
- Запускаем Charles.
Гайд по установке не поддерживаемых игр и программ на 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
Однако иногда разработчики просто пытаются подтолкнуть пользователя к покупке нового 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");">
Пустая строка выглядит вот так:
200?"200px":""+(this.scrollHeight+5)+"px");">
Как поменять требования операционной системы:
Находим:
200?"200px":""+(this.scrollHeight+5)+"px");">
Меняем:
200?"200px":""+(this.scrollHeight+5)+"px");">
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 файл и найти строку:
Под ней будут строки типа:
Это версии приложения, вышедшие ранее. Для установки «устаревшей» версии нужно выбрать один из номеров и скопировать его в буфер обмена.
12. Вернуться в Charles.
13. Вызвать контекстное меню на пункте «buyProduct» и выбрать пункт «Edit».
14. В открывшемся окне перейти в раздел «Text», где найти строку:
Под ней в теге
15. Для установки «устаревшей» версии необходимо вставить между тегами номер более ранней версии приложения и нажать на клавишу «Excute».
16. Нажать правой кнопкой мыши на последнюю запись «buyProduct» в списке под активностью «buy.itunes.apple.com» и выбрать пункт «Breakpoints».
17. Снова найти в iTunes нужное приложение и запустить его скачивание.
18. Вернутся в Charles, выбрать активность «buy.itunes.apple.com», а в правой части окна переключиться на Edit Request –> XML Text.
19. В поле
20. На странице подтверждения еще раз нажать «Execute».
21. Дождаться завершения скачивания приложения в iTunes.
22. Проверить в разделе «Мои приложения» версию только что скачанной программы или игры. Для этого нужно вызвать контекстное меню и выбрать пункт «Сведения».
23. В случае если в библиотеке iTunes доступна «устаревшая» версия приложения можно подключать iPhone или iPad к компьютеру и переносить программу в память мобильного устройства, предварительно удалив более новую версию.
Подробная видео инструкция от iDB:
Случается так, что после обновления приложения для 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.
В самом верху поля будет знакомый вам набор цифр после параметра
Вместо этих цифр подставляем скопированные выше 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 , вы увидите строчки вида:
где семизначное число означает номера версий приложения, расположенные в порядке возрастания. В нашем примере мы откатили 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
. В поле
Шаг 16. Затем опять нажмите Execute
Шаг 17. Перейдите в iTunes и убедитесь в том, что загрузка приложения началась. Дождитесь окончания загрузки
Шаг 18. В iTunes выберите вкладку «Мои программы », найдите ваше приложение и сделав по ней правый клик выберите пункт «Сведения ». Здесь вы можете убедится в том, что скачивается именно старая версия приложения
Шаг 19. Удалите с вашего iPhone или iPad новую версию необходимого приложения, подключите устройство к iTunes и установите старую сборку
Шаг 20. После окончания синхронизации на вашем смартфоне или планшете окажется старая версия необходимого приложения