Как на ios откатить версию приложения: Откат приложения на IOS? — Вопросы на DTF

Как сохранить приложения для iPhone и iPad и откатить приложение до предыдущей версии

У всех нас был опыт, когда одно из наших любимых приложений обновлялось, и новая версия была хуже предыдущей. Может быть, это более навязчивая реклама, может быть, это ужасно раздражающая функция, что бы это ни было, плохое обновление приложения может легко испортить ваше приложение. Самый простой способ избежать этого потенциального разочарования — сохранить копию приложений iOS, что позволит вам понизить их версию, если вы обнаружите, что новая версия хуже. Это сделать намного проще, чем вы думаете. Мы рассмотрим процесс сохранения локальной резервной копии приложения, а также то, как перейти на предыдущую версию, если вам не нравится новейшая итерация.

Обратите внимание: если вы выполняете резервное копирование исключительно через iCloud, у вас не будет этой опции, потому что приложения не будут храниться локально. Вы всегда можете сделать резервную копию локально в дополнение к iCloud, чтобы это не было проблемой.

Сохранение приложений iOS и простой переход на более раннюю версию

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Этот процесс лучше всего выполнять вручную, прежде чем обновлять приложение.

Сохранение и резервное копирование отдельных приложений iOS

  1. Перейдите в местоположение приложения iOS, это можно сделать, щелкнув приложение правой кнопкой мыши в iTunes и выбрав «Показать в Finder», или вручную перейдя в локальное местоположение приложения iOS в ~ / Music / iTunes / iTunes Media / Mobile Applications / и найти приложение
  2. Скопируйте файл приложения в другое место, чтобы использовать его в качестве резервной копии, файлы приложения iOS имеют расширение .ipa.

Если вы хотите, вы можете сделать резервную копию всего каталога в другом месте, хотя обычно в этом нет необходимости.

Примечание для пользователей Windows: каталог, который вы ищете: C: Users Username My Music iTunes iTunes Media Mobile Applications

Теперь, когда приложение зарезервировано, вы можете безопасно обновить его до последней версии прямо на iPad, iPhone или iPod touch. Если вы решите, что новая версия ужасна, откатиться на более раннюю версию очень просто.

Переход на предыдущую версию приложения для iOS

  1. На устройстве iOS удалите приложение, которое вы хотите перейти на более раннюю версию.
  2. На компьютере выйдите из iTunes
  3. Снова перейдите к локальному расположению приложения iOS в ~ / Music / iTunes / iTunes Media / Mobile Applications /
  4. Удалите из этого каталога последнюю версию файла .ipa приложения.
  5. Скопируйте ранее сохраненную версию приложения в каталог / Mobile Applications /
  6. Перезапустите iTunes
  7. Выполните повторную синхронизацию iPhone, iPad или iPod, и старая версия приложения будет восстановлена ​​на устройстве для завершения перехода на более раннюю версию.

В некоторых ситуациях старые версии приложений не будут совместимы с новейшей версией iOS, вы будете знать, что это так, потому что приложение не запускается, когда вы пытаетесь открыть его на iPhone / iPad, или вы будете получить сообщение о том, что доступна новая версия и запрос на обновление.

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

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Похожие записи

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

Fraell 5 января, 2016
Другие новости Программы для MacOS Советы по iOS
6 комментариев

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

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

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

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

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

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

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

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

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

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

 

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

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

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

<key>softwareVersionExternalIdentifiers<key>

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

<integer>1466803</integer>

<integer>1529132</integer>

<integer>1602608</integer>

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

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

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

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

<key>appExtVrsId<key>

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

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

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

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

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

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

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

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

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

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

Понравился пост?

Tweet

Как понизить версию приложений на iPhone, iPad и iPod Touch?

Последнее обновление: 10 ноября 2020 г.

Я нашел слишком много альтернативных приемов, которые работали в прошлом для понижения версии приложения с помощью iTunes на Mac или ПК. Официально Apple не разрешено устанавливать более раннюю версию переустановки приложения после обновления до последней версии. Люди возвращаются к старой или прошлой версии приложения из-за серьезных проблем, таких как сбой приложений при запуске, приложение не запускается, и iPhone переходит в цикл перезапуска, сбой приложения iOS.

Если вы искали решение, как понизить версию приложений iOS — Snapchat, Facebook, Instagram, Twitter и многих других приложений и игр, работающих на iPhone, iPad и iPod Touch. Глубокие альтернативные способы понизить версию приложений iOS с текущей версии, установленной на вашем устройстве iOS.

И умное и идеальное решение этой проблемы — понижение версии установленного приложения на устройстве iOS.

В последнем обновлении вы не можете понизить версию приложения на iPhone, поскольку параметр приложения скрыт на боковой панели iTunes в iTunes 11.7.4 или более поздней версии.

Полезно : Проверить версию приложения на iPhone, iPad

Могу ли я понизить версию приложения на iPhone в 2018 году?

Нет, сейчас нет возможности понизить или синхронизировать старую версию приложения из старой резервной копии в iTunes.

Что работало в прошлом для понижения версии приложений?

Действия по понижению версии приложения на вашем iPhone

Шаг 1: удалите приложение с вашего iPhone.

Шаг 2: подключите ваш iPhone на компьютер с помощью iTunes через кабель Lightning.

Шаг 3: не обновляйте приложение в iTunes, не выполняйте резервное копирование и синхронизацию iPhone с iTunes.

Шаг 4: найдите свой iPhone в iTunes. Нажмите на значок приложения магазина приложений в iTunes. Бесплатная установка приложения, которое было установлено на вашем iPhone. В окне iTunes отобразятся все установленные в прошлом приложения. Посмотрите свое приложение, которое было установлено в прошлом с более старой версией.

Шаг 5: выберите приложение, версию которого вы хотите понизить.

Шаг 6: Нажмите кнопку «Применить», чтобы внести изменения и начать синхронизацию, чтобы установить старую версию iOS для iPhone.

Старая версия скорости приложения на вашем iPhone с вашего компьютера, которая была сохранена в качестве резервной копии в прошлом.

Во-вторых, это; приложение обновляется на вашем iPhone и элементах. Перейдите в папку корзины и найдите файл старой версии приложения. Найдите файл с расширением «.IPA»

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

Поделитесь этими хитростями и советами по понижению версии старой версии приложения на iPhone, iPad, если у вас есть альтернативные хитрости. Мы сообщим вам в ближайшее время, если вы не сможете запустить задание на своем iPhone.

мы будем рады помочь вам, отправьте эту форму, если ваше решение не описано в этой статье.

HowtoiSolve Персонал

Джейсукх Патель — основатель HowToisolve. Также самостоятельный профессиональный разработчик, любитель техно, в основном для iPhone, iPad, iPod Touch и iOS, Джайсукх является одним из ответственных людей в своей семье.
Контактное лицо: [email protected] [ИЛИ] [email protected]

Как понизить версию приложения с помощью скрытой функции отката Android

Развертывание обновления приложения может быть нервным для разработчиков. Сколько бы они ни тестировали, всегда есть небольшой шанс, что что-то пойдет не так. И, к сожалению, после того, как это обновление будет установлено, становится сложно контролировать ущерб. Если они использовали поэтапное развертывание, функцию некоторых магазинов приложений, таких как Google Play, то, надеюсь, обновление не достигло слишком большого количества пользователей, прежде чем оно было остановлено. Если нет, надеюсь, ошибка связана с функцией, которая была настроена для удаленного отключения. Если нет, нужно будет отправить другое обновление, хотя может пройти несколько дней, прежде чем оно очистит процесс проверки в магазине приложений. К счастью, пользователи могут взять дело в свои руки и понизить версию приложения после получения обновления, но подходы, обычно рекомендуемые в Интернете, имеют некоторые ограничения.

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

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

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

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

В выпуске Android Dessert Bites за эту неделю я расскажу о двух способах понижения версии приложения Android. Один из этих методов может быть известен опытным опытным пользователям, хотя они могут не знать, как он изменился за последние годы. Другой метод был представлен сравнительно недавно, но малоизвестен в сообществе Android.

Благодарим за подписку на информационный бюллетень Android Edge . Каждую неделю в моей колонке Android Dessert Bites будут публиковаться последние новости о платформе Android, которые важны для системных инженеров, разработчиков приложений и опытных пользователей.

Как понизить версию приложения для Android (и сохранить существующие данные)

Это не то, что я бы рекомендовал, но если вы хотите просто понизить версию приложения до более старой версии без очистки его данных, вам нужно установить старую версию приложения поверх новой версии. Обычно Android этого не позволяет, так как система отклонит установку любых приложений, если уже установлена ​​более старая версия приложения. В зависимости от используемого установщика установка либо завершится неудачно, либо будет показана ошибка.

При попытке установить приложение Sync for Reddit версии 19.0.21 поверх существующей установки версии 19.0.22 установщик системного пакета возвращает код ошибки INSTALL_FAILED_VERSION_DOWNGRADE . Эта ошибка возникает, когда код версии устанавливаемого пакета (в данном случае 1352) старше, чем код версии уже установленного пакета (1355).

К счастью, у системного диспетчера пакетов есть скрытый флаг, который при передаче установщику пакета сообщает ему разрешить установку более старой версии приложения поверх более новой версии. Этот флаг был добавлен в Android почти десять лет назад и не остался незамеченным опытными пользователями. Еще в 2014 году были приложения, которые использовали этот флаг для понижения версии приложений, хотя эти приложения использовали root-доступ для отправки необходимой команды оболочки. В наши дни root-доступ не требуется для отправки команд оболочки на устройство, поскольку разработчики нашли способы повысить привилегии приложения до уровня оболочки.

Во всяком случае, метод в основном таков:

  1. Загрузите файл APK для версии, которую вы хотите понизить до
  2. .

  3. Переместите файл APK на свое устройство
  4. Войдите в оболочку вашего устройства (через ADB с ПК или на устройстве)
  5. Отправьте команду «pm install» с флагом «-d» и путем к файлу APK

Например:

Этот процесс можно сделать еще проще, если вы все делаете с ПК, так как вы можете пропустить шаги 2-3, просто выполнив «adb install -d app.apk», так как ADB протолкнет APK-файл во временное место на устройстве автоматически, а затем передайте команду установки в PackageManager.

В качестве альтернативы, если вам нужно установить несколько разделенных APK, вам нужно использовать другую команду:

Раньше я не беспокоился об этом методе, потому что думал, что он работает не со всеми приложениями. Я был не единственным, кто так думал, о чем свидетельствуют многочисленные жалобы в разделе комментариев к этой статье XDA-Developers . Согласно собственной документации Google, этот метод не должен работать со всеми приложениями. В тексте справки для команды «pm» говорится, что флаг «-d» разрешает понижение версии кода только для «только отлаживаемых пакетов», но у меня он работал даже с пакетами, которые не были помечены как отлаживаемые. Так что дает?

Чтобы выяснить это, я копался в AOSP. Я начал с того, что PackageManager считывает флаг «-d». Если флаг «-d» является частью команды, флаг INSTALL_REQUEST_DOWNGRADE добавляется к флагам сеанса установщика пакетов. В документации для этого флага отмечается, что он не гарантирует, что переход на более раннюю версию будет разрешен, так как это решение зависит от того, является ли приложение отлаживаемым, сборка отлаживаемой или установлен INSTALL_ALLOW_DOWNGRADE. Хотя первые две проверки не пройдут для большинства приложений в большинстве сборок, флаг INSTALL_ALLOW_DOWNGRADE устанавливается службой установки пакетов, если сеанс установки был создан одним из пользователей system_server, пользователем root или пользователем оболочки.

Раньше Android не применял флаг INSTALL_ALLOW_DOWNGRADE, когда сеанс установки создавался пользователем оболочки. Это изменение было введено в начале 2019 года, поэтому оно стало доступно в Android 10 и более поздних версиях. Вот почему команда «pm install -d» в прошлом была непоследовательной для многих пользователей и почему она стала более согласованной с Android 10 (хотя я не думаю, что кто-то заметил это изменение). Тем не менее, есть еще лучший способ понизить версию приложений в Android 10+, который делает снимок приложения и его файлы данных, так что понижение фактически восстанавливает приложение до его предыдущего состояния.

Как откатить обновление приложения Android (и восстановить старые данные)

Когда Google разрабатывала Project Mainline для Android 10, им нужен был способ гарантировать, что обновления компонентов модульной системы Android могут быть отменены, если что-то пойдет не так. В отличие от обновлений приложений, обновления модулей основной линии могут привести к нарушению критически важных функций системы (например, сетевого подключения) или еще хуже. Вот почему Google разработала службу RollbackManager, системную службу, которая позволяет откатить обновление модуля Mainline до предыдущей версии, установленной на устройстве, а также вернуть любые данные в состояние, в котором они находились до обновления.

Функция отката Android предназначена для автоматического запуска системой при наличии 5 ошибок «Приложение не отвечает» (ANR) или сбоев процесса в течение 1 минуты после обновления или при неоднократном сбое какой-либо собственной службы после обновления. Он также автоматически запускает откат сетевого стека, если после обновления не обнаружено сетевое подключение. Эти триггеры отката предназначены для защиты от неудачных обновлений модуля Mainline. Поскольку модули Mainline распространяются как в формате APEX, так и в формате APK, функция отката необходима для обработки обоих форматов. И поскольку эта функция требовала тщательного тестирования, Google добавил ручной способ запуска отката: через (как вы уже догадались) команду оболочки.

Есть одно предостережение при ручном запуске отката: вам сначала нужно включить откат для приложения при его обновлении. Существует флаг, который можно добавить в сеанс установки пакета, чтобы включить откат для данного обновления, но API, который устанавливает его программно, зарезервирован для системных приложений. Магазин Google Play, очевидно, не поддерживает эту функцию, поскольку он не позволяет откатывать обновления приложений, а это означает, что вам нужно вручную обновлять свои приложения с помощью командной строки, если вы хотите включить откат.

Включить вручную, а затем запустить откат, по крайней мере, довольно просто. Чтобы включить откат, все, что вам нужно сделать, это добавить параметр –enable-rollback к команде «pm install» при обновлении приложения. Затем, чтобы вызвать откат, отправьте команду «pm rollback-app {package}».

Например:

 adb push app.apk /data/local/tmp/
adb оболочка
pm install --enable-rollback /data/local/tmp/app. apk
pm rollback-app {пакет}
 

Шаг за шагом:
1) Первой командой я отправляю дампы информации о пакете ‘com.laurencedawson.reddit_sync’ (синхронизация для Reddit) и фильтры для строк, в которых упоминается «версия». Начну с того, что у меня версия 19Установлена ​​версия .0.21 Sync for Reddit.
2) Затем я отправляю команду «pm install» с параметром «-enable-rollback», чтобы обновить Sync for Reddit до версии 19.0.22 и включить откат к предыдущей версии.
3) Я снова делаю дамп информации о пакете, чтобы убедиться, что новая версия установлена.
4) Я запускаю откат с помощью команды «pm rollback-app», за которой следует имя пакета для синхронизации для Reddit: com.laurencedawson.reddit_sync.

5) Я проверяю, установлена ​​ли старая версия приложения.

Когда запрашивается откат приложения, файлы APK, необходимые для переустановки предыдущей версии, копируются в /data/rollback/{sessionID}, в то время как файлы данных приложения в его частном внутреннем каталоге хранилища для конкретного приложения скопировано в /data/misc_[ce|de]/{user}/rollback/{sessionID]. Данные приложения в его частном внешнем каталоге хранения (например, в /data/media/{user}/Android/{package}) не копируются для экономии места и поскольку предполагается, что эти файлы не являются критическими для функциональность приложения. Кроме того, ключи в KeyStore не резервируются, как указал разработчик Серджио Кастелл.

(CE означает хранилище с шифрованием учетных данных, а DE — хранилище с шифрованием устройства, если вам интересно. В первом случае хранятся файлы, которые расшифровываются только после завершения загрузки устройства, а во втором — файлы которые расшифровываются и становятся доступными в режиме прямой загрузки, сохраняются.)

Слева: Синхронизация для базового APK-файла Reddit копируется при выполнении обновления с параметром –enable-rollback

Справа: Синхронизация файлов данных Reddit из его частного приложения- определенный каталог хранилища также резервируется, когда включен откат

При запуске отката предыдущий снимок восстанавливается путем установки более старой версии приложения и копирования резервных копий файлов данных обратно в исходное расположение. Любые изменения данных приложения, сделанные после включения отката, перезаписываются.

По умолчанию откаты доступны в течение 14 дней после обновления, но это можно настроить, изменив значение флага rollback_lifetime_in_millis. Например, отправив следующую команду оболочки:

 adb shell cmd device_config put rollback_boot rollback_lifetime_in_millis 2592000000 

…заставит систему сохранять откаты в течение 30 дней. Однако изменение этого значения не будет иметь никакого эффекта, пока процесс system_server не будет перезапущен, поэтому в большинстве случаев потребуется перезагрузка.

С помощью атрибута rollbackDataPolicy приложения могут сообщать системе, как обрабатывать свои данные при выполнении отката. По умолчанию система восстанавливает данные пользователя при откате. Учитывая, насколько неясна эта функция, очень немногие приложения, вероятно, указали политику, поэтому для большинства приложений должна быть предусмотрена возможность полного отката с использованием этого метода. Sync for Reddit, приложение, используемое в демонстрационных целях в этой статье, например, не определяет политику отката данных.

Для взаимодействия со всеми API отката приложение должно иметь разрешения MANAGE_ROLLBACKS и TEST_MANAGE_ROLLBACKS. Первый имеет уровень защиты «подпись | привилегированный», а второй просто «подпись», поэтому только системные приложения могут включать и запускать откаты. Приложение оболочки имеет разрешение TEST_MANAGE_ROLLBACKS, поэтому оно может включать и запускать откат для установленных пользователем APK. Google опубликовал образец системного приложения в AOSP для отображения и запуска отката, но для использования этого приложения потребуется системная интеграция.

Google может предоставлять пользователям функцию отката приложений через Google Play или ОС, но они не хотят этого делать, поскольку эта функция предназначена только для тестирования и не предназначена для использования в рабочей среде. Это позор, но, вероятно, есть много веских причин, почему.

scroll to top