Разбор

Повторная загрузка покупок Apple: как устроена история покупок

Что Apple хранит в истории покупок, что происходит при нажатии на облако, как связаны подпись и лицензия и почему удалённый из App Store банк можно вернуть.

Редакция Rebound8 мин чтения
Содержание
  1. Покупка это запись, а не файл
  2. Где посмотреть свои покупки
  3. Что происходит, когда вы нажимаете на облако
  4. Подпись и лицензия: две разные защиты
  5. Что меняется, когда приложение удаляют из магазина
  6. Версии приложения
  7. Скрытые покупки
  8. Семейный доступ
  9. У каждого Apple ID своя история
  10. Три частых заблуждения
  11. Как это использует Rebound
  12. Сравнение: App Store, повторная загрузка и копии
  13. Частые вопросы

Вы удаляете приложение, через месяц ставите его снова, и App Store не просит заплатить второй раз. За этой привычной кнопкой с облаком стоит механизм, который Apple называет повторной загрузкой. На нём же работает возврат банков, удалённых из российского App Store. Разберём, как он устроен на самом деле: что хранится за вашим Apple ID, что происходит при загрузке и где у этого механизма пределы. Короткая версия есть в разборе почему повторная загрузка безопасна, здесь подробности.

Покупка это запись, а не файл

Когда вы нажимаете «Загрузить» или «Купить», App Store делает две вещи. Сначала оформляет покупку: в вашей истории появляется запись о том, что этот Apple ID получил это приложение. Для бесплатного приложения это такая же покупка, только за 0 ₽. Потом iPhone скачивает файл и устанавливает его.

Важно, что это разные вещи. Файл на телефоне можно удалить, телефон можно сбросить или поменять, а запись о покупке остаётся за аккаунтом. Именно она даёт право скачать приложение снова на любое ваше устройство. Поэтому «вернуть приложение» означает не найти где-то файл, а воспользоваться записью, которая уже есть.

Где посмотреть свои покупки

  • В App Store. Нажмите на свою фотографию вверху, затем «Покупки» (в новых версиях iOS: «Приложения и история покупок» → «Мои приложения»). Вкладка «Не на этом iPhone» показывает то, что вы скачивали, но сейчас на телефоне нет.
  • В настройках. «Настройки → ваше имя → Медиаматериалы и покупки → Просмотреть» откроет данные аккаунта, там есть история покупок с датами и скрытые покупки.
  • Какой это Apple ID. Покупки привязаны к аккаунту из пункта «Медиаматериалы и покупки». Он может отличаться от аккаунта iCloud на том же телефоне.

Подробно, как проверить, есть ли нужное приложение в покупках: инструкция. Пошаговая инструкция для приложений, которых уже нет в магазине: как скачать приложение, которого нет в App Store.

Что происходит, когда вы нажимаете на облако

  1. Вход в аккаунт

    Телефон обращается к серверам Apple от имени вашего Apple ID. При первом входе на новом устройстве Apple запрашивает пароль и код двухфакторной проверки.

  2. Проверка права

    Apple смотрит, числится ли приложение за этим аккаунтом. Если да, новая оплата не нужна.

  3. Ссылка и лицензия

    Сервер Apple отдаёт ссылку на файл приложения в своей сети доставки и лицензию, привязанную к вашему Apple ID.

  4. Загрузка и проверка подписи

    iPhone скачивает файл, проверяет цифровую подпись Apple и убеждается, что файл не изменён.

  5. Установка

    iOS устанавливает приложение в отдельную песочницу. На экране «Домой» появляется иконка.

Подпись и лицензия: две разные защиты

Подпись отвечает на вопрос «тот ли это файл». Apple подписывает каждое приложение из App Store, и iPhone откажется запускать файл, если подпись не сходится. Это защищает от подмены: изменённое приложение с оригинальной подписью Apple не запустится.

Лицензия отвечает на вопрос «ваше ли это приложение». Приложения из App Store защищены системой FairPlay: часть файла зашифрована, а ключ к ней выдаётся под конкретный Apple ID. Поэтому приложение, скачанное с одного аккаунта, привязано к нему. Иногда iPhone просит ввести пароль именно того Apple ID, с которого скачано приложение, например при первом запуске или обновлении.

Почему это важно при выборе способа

При повторной загрузке обе защиты остаются на месте: подпись Apple и лицензия из вашей покупки. При установке переподписанных IPA подпись Apple заменяют чужой, и гарантия «файл не изменён» пропадает. Подробнее: джейлбрейк, профили и переподписанные приложения.

Что меняется, когда приложение удаляют из магазина

Приложение может исчезнуть из App Store по разным причинам: его убирает разработчик, Apple снимает его с витрины в отдельной стране, как случилось с российскими банками после санкций. В этот момент пропадает страница приложения в магазине: его нельзя найти поиском и скачать впервые. В списке «Покупки» его тоже обычно не видно.

Но запись о покупке у тех, кто скачивал приложение раньше, никуда не девается. Пока файл приложения хранится на серверах Apple, владелец аккаунта может запросить его тем же способом, каким это делает App Store. Скрыта только кнопка в интерфейсе магазина, сам механизм работает. Именно поэтому банки, удалённые в 2022 году, можно вернуть на телефон и сейчас, если вы когда-то их скачивали.

Пределы у этого тоже есть. Apple не обещает, что файл удалённого приложения будет храниться вечно, и если его больше нет на серверах, скачать его не сможет никто. А если приложения никогда не было на вашем Apple ID, никакой записи нет, и повторно загружать нечего.

Ваши покупки уже за вами

Rebound бесплатно проверит, какие банки и сервисы из каталога числятся за вашим Apple ID, и вернёт их на iPhone меньше чем за минуту.

Открыть в Telegram

Версии приложения

App Store обычно отдаёт последнюю версию приложения. Если ваша iOS для неё слишком старая, магазин предлагает загрузить последнюю совместимую версию. Выбрать произвольную старую версию в самом App Store нельзя.

Для удалённых банков версии важны вдвойне. Банк может закрыть вход в старые версии, и тогда нужна более новая, например перевыпуск под другим названием. А на старом iPhone, наоборот, может понадобиться версия постарше. Rebound показывает версии, доступные у Apple, и позволяет выбрать подходящую. Если банк уже не пускает в установленную версию, смотрите статью приложение банка перестало работать.

Скрытые покупки

Покупку можно скрыть, и тогда она не показывается в списке «Покупки». Это не удаляет её: приложение по-прежнему числится за аккаунтом. Скрытые покупки видны в «Настройки → ваше имя → Медиаматериалы и покупки → Просмотреть → Скрытые покупки», там же их можно вернуть в список. Для сервисов повторной загрузки скрытие не мешает: они работают с записью о покупке, а не со списком в интерфейсе.

Семейный доступ

Если у вас настроен «Семейный доступ» с общими покупками, в App Store можно открыть покупки другого члена семьи и скачать их. Так Apple описывает это в своей справке. Как этот механизм ведёт себя для приложений, которых уже нет в магазине вашей страны, Apple не описывает, и полагаться на него мы не советуем. Надёжнее другой путь: член семьи подключает свой Apple ID в сервисе повторной загрузки и сам вводит пароль и код. Приложение скачивается прямо из его покупок. Как это сделать: установка с другого Apple ID.

У каждого Apple ID своя история

Покупки не принадлежат телефону, они принадлежат аккаунту. Поэтому частая ситуация выглядит так: банк есть у мужа, а у жены нет, хотя телефон когда-то был общий. Приложение числится за тем Apple ID, с которого нажимали «Загрузить». Если вы не уверены, на какой аккаунт скачивали приложения несколько лет назад, проверьте все Apple ID, которыми пользовались: проверка покупок в Rebound бесплатна.

Из этого же следует важное предупреждение: если удалить Apple ID, вместе с ним пропадёт и история покупок. Старый аккаунт, на котором остались банки, лучше сохранить, даже если вы давно перешли на новый. Достаточно помнить пароль и держать в порядке доверенный номер телефона.

Три частых заблуждения

  • «Повторная загрузка значит пиратство». Нет: вы получаете то, что уже числится за вашим аккаунтом, тот же файл и ту же лицензию, которые выдал бы App Store.
  • «Можно скачать любое приложение по номеру». Только если оно есть в покупках подключённого Apple ID. Бесплатное приложение, которое ещё доступно в магазине, можно сначала добавить в покупки: Rebound делает это одной кнопкой.
  • «Приложение перестанет работать через неделю». Ограничение в 7 дней касается копий, переподписанных бесплатным сертификатом разработчика. У оригинального приложения из ваших покупок такого срока нет. Перестать работать оно может по другой причине: если банк отключит старую версию.

Как это использует Rebound

Rebound делает тот же запрос, что App Store, только для приложений, которые магазин не показывает. По шагам:

  1. Вы входите в Apple ID в мини-приложении Telegram. Соединение с Apple шифруется прямо на телефоне, наш сервер передаёт только зашифрованные байты, пароль и коды к нам не попадают.
  2. Телефон запрашивает у Apple приложение из вашей покупки и получает ссылку на файл и лицензию.
  3. Сервер скачивает файл с серверов Apple и добавляет к нему лицензию и данные покупки, как это было бы при загрузке из App Store.
  4. Вы открываете личную ссылку в Safari, и iOS ставит приложение. Через час после скачивания, но не позже чем через 6 часов, файл удаляется с сервера.

На телефон попадает то же приложение, подписанное Apple, что когда-то было в магазине. Обновлений из App Store у него не будет, потому что приложения там нет; новую версию можно поставить тем же способом, когда она появится в покупках.

Сравнение: App Store, повторная загрузка и копии

App StoreПовторная загрузка покупкиПереподписанный IPA
Откуда файлСерверы AppleСерверы AppleНеизвестный источник
ПодписьAppleAppleЧужой сертификат
ЛицензияИз вашей покупкиИз вашей покупкиНет или чужая
Нужно ли, чтобы приложение было в магазинеДаНет, нужна запись о покупкеНет
ОбновленияАвтоматическиВручную, когда есть новая версия в покупкахВручную, от продавца
Риск подменыНетНетЕсть

Вернуть то, что уже ваше

Подключите Apple ID в Rebound и нажмите «Найти мои приложения». Проверка бесплатна, первая установка в подарок.

Открыть в Telegram

Частые вопросы

Бесплатные приложения тоже попадают в историю покупок?

Да. Нажимая «Загрузить» на бесплатном приложении, вы получаете его на свой Apple ID так же, как платное, только за 0 ₽. Поэтому бесплатные банки, которые вы когда-то скачивали, тоже числятся за вами.

Почему удалённого приложения не видно в «Покупках»?

Когда приложения нет в магазине вашей страны, App Store обычно не показывает его в списке. Запись о покупке при этом остаётся, и по запросу владельца аккаунта Apple может отдать файл, если он ещё хранится на её серверах.

Придётся ли платить за платное приложение ещё раз?

Нет. Повторная загрузка не создаёт новую покупку: Apple проверяет, что приложение уже получено на этот Apple ID, и отдаёт его без оплаты. Сервис повторной загрузки берёт деньги за свою работу, а не за приложение.

Можно ли скачать старую версию приложения?

App Store сам предлагает последнюю совместимую версию, если ваша iOS слишком старая для свежей. Выбрать любую версию вручную в App Store нельзя. В Rebound можно выбрать версию из доступных у Apple.

Работает ли «Семейный доступ» для удалённых приложений?

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

Проверьте, что можно вернуть

Подключите Apple ID в Telegram и за минуту увидите, какие приложения есть в ваших покупках. Проверка бесплатна, первая установка в подарок.

Открыть в Telegram