Простой перевод часов превращает iPhone в «кирпич»
В операционной системе для мобильных устройств iOS немало уязвимостей и «багов». Одним из последних и, пожалуй, самых громких, стала «Ошибка 53», которая появлялась, если в iPhone 6/6S меняли аппаратную кнопку со сканером отпечатка пальца, причём делали это в несертифицированном СЦ. Однако этим всё не ограничилось.
Вчера на форуме Reddit появилось сообщение о новой обнаруженной ошибке, после которой не помогает ни жёсткая перезагрузка, ни перевод в режим DFU с обновлением прошивки после этого. iPhone просто «зависает» на этапе показа логотипа и более не реагирует ни на что. Единственным способом является физическое отключение аккумулятора, что требует разборки корпуса, а значит — визита в сервисный центр.
Внимание! Следующая информация приведена исключительно для ознакомления! Не экспериментируйте со смартфоном!
Итак, суть «бага» в следующем: если перевести системное время на 1 января 1970 года, после чего перезагрузить устройство, далее оно работать не будет. Проблема имеет место на iPhone, работающих на процессорах A7 и новее (64-разрядные процессоры) на всех версиях iOS. Старые модели с 32-разрядными процессорами не подвержены проблеме.
Вот так просто можно «убить» iPhone.
При этом некоторые устройства также не подвержены проблеме. Предполагается, что причина в часовых поясах. Поясним — вероятно, проблема состоит в том, что в США и Западном полушарии часовые пояса вычитаются из гринвичского времени (UTC). К примеру, в Нью-Йорке часовой пояс (UTC –5), а вот в Москве — UTC +4. Это означает, что переменная, которая отвечает за время, может принять отрицательное значение, что, похоже, и приводит к сбою.
По словам участников форума Reddit, можно попробовать подождать до полной разрядки аккумулятора, после чего включить устройство. Другие полагают, что за это время значение переменной станет положительным и проблема уйдёт. Однако в некоторых официальных магазинах Apple предпочитают поменять устройство на новое.
Отметим, что 1 января 1970 года — это так называемое UNIX-время, принятое за точку отсчёта в UNIX-системах и основанных на них. Таковыми являются iOS и OS X. Из этого следует возможная «проблема 2038 года», когда значение переменной, отвечающей за время, может стать отрицательным во всём мире, что вызовет массовые сбои систем.
Однако на сегодня проблема имеется только на iOS.