Разработка
Я получил новый iPhone, но мой аккаунт в социальных сетях заблокирован
Так как же Snapchat мог распознать устройство?
Недавно я уронил свой iPhone на бетонную лестницу и, к своему удивлению, всего лишь получил трещину на заднем стекле и сломанную кнопку регулировки громкости. К счастью, случайное повреждение было покрыто программой AppleCare, поэтому я записался на ремонт и отнес iPhone в авторизованный сервисный центр Apple.
Изначально мне сказали, что заменят стекло и починят кнопку. Однако позже в тот же день мне позвонили и сообщили, что из-за нескольких царапин на переднем стекле телефон придется заменить полностью. Через несколько дней я вернулся в магазин и вышел с абсолютно новым телефоном за 99 евро.
Восстановив телефон из резервной копии и начав заходить во все свои аккаунты, я столкнулся с неожиданной проблемой. При попытке войти в Snapchat я получил сообщение об ошибке «SS06: Device Banned». Это было удивительно, так как у меня не было проблем со входом на другом устройстве. Согласно документации службы поддержки Snapchat, код ошибки SS06 означает, что устройство было заблокировано из-за злоупотребления или неоднократного нарушения правил сообщества. В документе также говорится, что служба поддержки Snapchat не может разблокировать устройство после того, как оно было заблокировано.
Я начал подозревать, что Apple дала мне взамен отремонтированный iPhone, а предыдущий владелец был забанен за нарушение правил Snapchat. Поиск в Интернете привел меня к различным сообщениям на форумах от людей, которые были забанены за размещение фотографий запрещенных препаратов, а обращение в службу поддержки Snapchat привело к автоматическим сообщениям о том, что я был забанен за нарушение правил и они не могут снять запрет с устройства.
Как разработчик iOS, я знаю, что у Apple нет никаких API, которые разработчики могут использовать для отслеживания пользователей. Разработчики не могут получить доступ к серийному номеру устройства, а identifierForVendor
сбрасывается, когда пользователь удаляет все приложения издателя. Так как же Snapchat мог распознать устройство?
Проведя еще немного исследований, я вспомнил о фреймворке DeviceCheck. DeviceCheck позволяет разработчикам записывать и считывать два бита данных для каждого устройства, которые сохраняются при удалении, переустановке, сбросе настроек приложения и даже при передаче устройства от одного пользователя к другому. В документации Apple предлагается использовать эту функцию для ограничения бесплатных пробных версий до одного раза для каждого пользователя или запрета устройств с известной мошеннической активностью. Они даже упоминают, что разработчики отвечают за сброс этих битов при смене владельца устройства, но неясно, как разработчики могут проверить, что это произошло.
Это открытие настораживало. Если вы случайно используете приложения, которые пересекаются с теми, которыми пользовался предыдущий владелец, вы можете не получить бесплатные пробные версии или, что еще хуже, получить запрет на использование определенных приложений. И это не для краденного iPhone, купленного на Facebook Marketplace, это для подменного iPhone, полученного по программе AppleCare от самой Apple.
Зайдя в тупик с поддержкой Snapchat, я обратился в службу поддержки Apple. К их чести, они отнеслись с пониманием и помогли, признав, что это новая проблема, с которой они раньше не сталкивались. После примерно двух часов разговора по телефону и переписки они предложили просто заменить мой телефон. Хотя существует вероятность того, что новый телефон может иметь ту же проблему, я принял их предложение.
Хотя я не очень активно пользуюсь Snapchat и мог бы прожить без возможности использовать это приложение, более серьезная проблема заключается в том, что Apple заменила мой телефон устройством, ранее отмеченным за мошеннические действия. В любой момент я могу загрузить новое приложение, попытаться создать аккаунт и обнаружить, что моему iPhone запрещено пользоваться сервисом.
Моей немедленной реакцией было обвинить Snapchat. Несмотря на их заявления о том, что они не могут разблокировать устройства, они теоретически могли бы сбросить «запрет» — если бы я когда-нибудь смог связаться с реальным человеком в Snap Inc, что кажется маловероятным. Реальная проблема, однако, заключается в том, что, хотя восстановленный iPhone сбрасывается до заводских настроек, он не полностью восстанавливается до состояния нового iPhone. В службе поддержки Apple заявили, что, поскольку запрет был введен не Apple, у них нет возможности снять его. Однако они абсолютно точно могут сбросить все биты DeviceCheck, связанные с серийным номером устройства при восстановлении iPhone, поскольку контролируют api.devicecheck.apple.com
.
Мой вывод из этого процесса — предупреждение для всех разработчиков приложений. Не используйте DeviceCheck ни для чего другого, кроме как для проверки того, что запрос поступает с официального устройства Apple. Не существует надежного способа определить, использует ли телефон один и тот же человек.
-
Новости1 месяц назад
Видеозвонки с Лили, Приключения и пианино — обновления Duolingo
-
Новости1 месяц назад
Видео и подкасты о мобильной разработке 2024.39
-
Видео и подкасты для разработчиков4 недели назад
Lua – идеальный встраиваемый язык
-
Новости4 недели назад
Poolside, занимающийся ИИ-программированием, привлек $500 млн