FAQ: Почему в Mac OS X не удаётся прошить iPhone 4?

Если вы хотите увидеть на нашем сайте ответы на интересующие вас вопросы обо всём, что связано с техникой Apple, операционной системой Mac OS X (и её запуском на PC), пишите нам через форму заявки на обзор или форму обратной связи.

К нам поступил следующий вопрос:

скажите пожалуйста в чём может быть
загвоздка?)) привязанный джейлбрег у меня
не удался…((( попытался просто
«восстановить» прошивку 4.3 ( до этого не
устанавливал её ещё ни разу), itunes выдал
ошибку 1013…((( ещё одно разочарование)))
попытался на винде — запросто
установилась версия 4.3…
так вот, почему на моём маке не смог
установить прошивку 4.3? → может кстати
поэтому и джейл не получился?

Мы на 99% уверены, что виновник — утилита TinyUmbrella (универсальная сохранялка хешей SHSH), которую вы хотя бы раз ставили и запускали на своём Маке. Дело в том, что при нажатии на кнопку Start TSS в TinyUmbrella утилита самовольно патчит системный файл /etc/hosts, управляющий переадресацией обращений к серверам в сети. Она делает это, чтобы iTunes вместо официальных активационных серверов Apple в момент прошивания обращался к серверам Cydia, где хранятся сохранённые хеши SHSH.

Так в чём же загвоздка? В том, что потом TinyUmbrella частенько не изменяет обратно содержимое /etc/hosts. Для старых поколений iPhone это не имеет никакого значения, а вот для iPhone 4 — очень даже имеет. При прошивании iPhone 4 iTunes дважды обращается за хешами:

  • в первый раз он запрашивает у серверов Apple хеши для самой прошивки. Если эти же хеши сохранены на сервере Cydia, то никаких проблем не возникнет: файл /etc/hosts переадресует iTunes на эти серверы, хеш будет получен, и прошивание начнётся
  • во второй раз iTunes лезет на серверы Apple за специальными хешами для модема iPhone. Серверы Cydia не умеют сохранять такие хеши! Поэтому при переадресации через /etc/hosts iTunes не получает никаких нужных хешей и выдаёт ошибку 1013 (или 1014), свидетельствующую о том, что не удалось перезаписать модем iPhone. Кстати, именно эту фишку использует TinyUmbrella, чтобы обновлять iPhone 4 на новую прошивку без повышения модема.

Как с этим бороться? Нужно поправить обратно содержимое файла /etc/hosts, и поможет нам в этом Терминал. Запускаете его из папки /Программы/Служебные программы, и вводите команды:

[php]sudo -s
nano /etc/hosts[/php]

После sudo -s и нажатия Enter вам потребуется вслепую ввести пароль от учётной записи и нажать Enter ещё раз.
Прямо в Терминале откроется содержимое файла hosts. Пролистайте его клавишей со стрелкой вниз. Внизу вы можете увидеть следующие строки (одну или две):

[php]127.0.0.1 gs.apple.com
#74.208.10.249 gs.apple.com[/php]

Удалите всё, что касается gs.apple.com. Затем нажмите на клавиатуре Ctrl+X, затем — Y и Enter.
Это не всё: оставаясь в Терминале, введите последнюю команду:

[php]dscacheutil -flushcache[/php]

Теперь вы можете быть уверены, что переадресация для iTunes полностью выключена.