В далёком 2010 году Apple представила миру iPhone 4, который вскоре после старта продаж стал причиной большого скандала под названием "Антеннагейт". Первые пользователи заметили, что индикатор уровня сигнала мобильной сети резко падал с 5 до 2 при хвате смартфона определённым образом.

На первых порах Apple рекомендовала не держать смартфон за нижний левый угол, а Стив Джобс и вовсе отметился скандальной фразой "Просто не держите его так". Вскоре проблема была исправлена апдейтом iOS 4.0.1 и сегодня, спустя 15 лет, энтузиаст под ником @samhenrigold докопался до истинной причины антеннагейта.

Ретроспектива: как 20 бит кода исправили скандальную проблему антенн iPhone 4

Скачав iOS 4.0.1 и оригинальную iOS 4.0, Сэм обнаружил крошечное отличие в исходных кодах одного из исполняемых файлов. Оказалось, что количество рисок на индикаторе антенны рассчитывалось неправильно. Опираясь на фактический сигнал с антенн (в дБ), система сверяла его значение по предписанной шкале и выводила результат при попадании в тот или иной диапазон дБ.

Ретроспектива: как 20 бит кода исправили скандальную проблему антенн iPhone 4 Ретроспектива: как 20 бит кода исправили скандальную проблему антенн iPhone 4
Диапазоны сопоставления силы сигнала для отрисовки антенн: iOS 4.0 (слева) и iOS 4.0.1 (справа)

Проблема заключалась в том, что изначально эти диапазоны были прописаны неоправданно оптимистично, да ещё и очень близко друг к другу. В исправленной версии iOS 4.0.1 программисты Apple расширили сами диапазоны, благодаря чему отображение качества сигнала стало более объективным. Легче всего понять ситуацию можно по графику ниже, где красная линия – исходные значения для переключения индикатора антенн, а синяя – обновлённые.

Ретроспектива: как 20 бит кода исправили скандальную проблему антенн iPhone 4

Проще говоря, изначально iOS 4.0 рисовала завышенную индикацию, которые резко падали при малейшем изменении силы сигнала (в частности, накрытии рукой). Таким образом, всего 20 байт кода для изменения формулы расчёта спасли Apple от волны критики, обрушившейся на неё вскоре после старта продаж iPhone 4.

ПО МАТЕРИАЛАМ: x.com

АВТОР: Владимир Ковалёв