В 2010 году релиз iPhone 4 омрачила история с потерей сигнала при определённом хвате телефона. Спустя 15 лет программист выяснил, что решением стали изменения в формуле отображения полосок сигнала — всего 20 байт кода.
После выхода iPhone 4 пользователи заметили, что при звонках индикатор связи резко терял деления. Apple тогда утверждала, что дело в неверной формуле, а не в конструкции антенны. Теперь исследователь Сам Генри Голд раскрыл детали исправления.
Скандал, получивший название «Antennagate», разгорелся летом 2010 года. Владельцы iPhone 4 жаловались, что при обычном хвате устройство теряет сигнал. Apple пришлось раздавать бесплатные бамперы и урегулировать коллективный иск. Несмотря на последующее улучшение антенн в iPhone 4S, корень проблемы оказался в программном обеспечении.
Компания признала, что алгоритм неверно показывал уровень сигнала: индикатор часто завышал его на две полоски. В результате пользователи видели 4–5 делений там, где реальное покрытие соответствовало лишь 2. При перекрытии антенны казалось, что сигнал полностью исчезал, хотя на деле это была иллюзия из-за ошибки в расчётах.
Разработчик Сам Генри Голд скачал прошивки iOS 4.0 и 4.0.1 и исследовал модуль CommCenter, отвечающий за связь. Он обнаружил таблицу пороговых значений, определяющих количество этих самых полосок. В версии 4.0 она была чрезмерно оптимистичной, что и приводило к резким скачкам. В iOS 4.0.1 таблицу сгладили: теперь 5 делений увидеть сложнее, но и падение стало более плавным.

«Всё решение заняло 20 байт, — пояснил Голд. — На графике видно, как изменился переход от 5 к 0 делениям».
Помимо этого, Apple увеличила высоту первых двух столбиков индикатора, чтобы слабый сигнал выглядел менее пугающим.
История с Antennagate остаётся напоминанием о том, как небольшая ошибка в коде может превратиться в масштабный кризис для крупнейшей даже большой технологической компании.
Ещё по теме:
- На демо-стендах в Apple Store появились зарядки с силиконовым кольцом для защиты iPhone 17
- Apple готовит сделку по трансляции «Формулы-1»
- ВТБ запускает пилот бесконтактной оплаты для iPhone с помощью сервиса «ВТБ Pay»