Найти тему
Apple SPb Event

Исследователь нашёл эксплойт для iOS, позволяющий разработчикам создавать анимированные иконки приложений

Прошло уже немало времени с тех пор, как Apple позволила разработчикам создавать альтернативные иконки для своих приложений, чтобы пользователи могли менять их, когда захотят. Однако, за исключением приложений «Часы» и «Календарь», в системе нет анимированных или интерактивных иконок, но один из исследователей нашёл эксплойт, который позволяет это сделать.

Брайс Боствик недавно нашёл эксплойт в iOS, который позволяет разработчикам создавать анимированные иконки приложений. Точнее, эксплойт использует официальный API системы для создания альтернативных иконок приложений, но при этом обходит требование, чтобы пользователь выполнял это действие вручную.

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

Но, используя частный метод для вызова API, Боствик смог установить пользовательские иконки, не требуя подтверждения от пользователя. Исследователь также обманул систему, изменив проверку статуса приложения, чтобы iOS считала его активным, даже если оно работает в фоновом режиме.

Это позволяет приложению автоматически менять иконку в фоновом режиме, когда ему вздумается. Чтобы продемонстрировать возможности, Боствик объединил несколько кадров и сделал анимированную иконку. Хотя идея анимировать все иконки немного настораживает, исследователь считает, что было бы неплохо позволить приложениям показывать короткие анимации, например, при получении уведомления.

Конечно, команда App Store Review, вероятно, забракует любые приложения, использующие такую лазейку. Как это выглядят анимированные иконки приложений можно посмотреть на видео ниже.

Ещё по теме: