Все меньше и меньше времени остается до релиза iOS 4, поэтому особо нетерпеливые маководы, подключивши к обновленному iTunes 9.2 свои гаджеты, принялись активно кликать в заветную кнопку «Обновить». Это, на самом деле, немного не эффективно, поэтому я предлагаю узнать о выходе новой версии прошивки автоматически.

Этот вариант заключается в том, чтобы написать и запустить простой консольный скрипт, который будет проверять наличие обновления прямиком на сервере Apple. Приступим?

Для начала нам пригодится любой текстовый редактор. Я, к примеру, захотел воспользоваться nano, который входит в состав консольных утилит Mac OS X.

После открытия Терминала, который можно найти в папке Программы > Служебные программы, требуется ввести имя текстового редактора, чтобы его запустить:

nano

Далее в окне вставляет вот такие строки:

#! /bin/csh
curl -s -L http://phobos.apple.com/version | grep -i Restore | grep -i iPhone | grep -i 4.0
if ($? == 1) then
echo "Nothing yet"
else
say "Update!"
endif
sleep 10

В двух словах, этот скрипт заходит на сайт http://phobos.apple.com/ и получает оттуда большой XML файл, а после фильтрует его командой grep с разными условиями. При получении пустого результата в окно Терминала выведется сообщение «Nothing yet». И скрипт «затихнет» на 10 секунд.

А вот если Apple выпустит обновление, то Mac радостным мужским голосом (или какой у вас настроен по-умолчанию в Системных настройках > Речь > Преобразование текста в речь) прикажет проверить наличие новой версии через iTunes.

Обязательно проверьте, чтобы скрипт начинался именно со строки «#! /bin/csh». Далее нажимает Control+O и вводим имя нашего файла с указанием директории, в которой он будет располагаться. Я захотел сохранить его в домашнем каталоге, поэтому указал такие параметры:

/Users/Deavy/check_update.sh

После подтверждения своего желания необходимо нажать Control+X и выйти из текстового редактора.

Наш скрипт не запустится без специальных прав для исполнения, поэтому, на всякий случай, от имени администратора компьютера, запускаем команду:

sudo chmod -R 775 ~/check_update.sh

Осталось совсем немного: ведь скрипт обработает всего лишь один раз, а нам требуется запустить его намного больше раз. Выкрутиться можно двумя способами: либо использовать конструкцию while, но у меня она почему-то работать не захотела, либо использовать c shell.

Более элегантное решение, возможно, подскажут опытные гики в комментариях:

В общем, теперь в Терминале пишем csh и после этого вот такую команду:

repeat 9999 ~/check_update.sh

Все, теперь осталось откинуться на спинку кресла и установить оптимальную громкость в системе, чтобы не пропустить голосовое уведомление.

UPD: Чуть не забыл! 🙂

После того, как обновление выйдет, работу скрипта можно будет остановить сочетанием клавишь Control+C, а выйти из си-шелла клавишами Control+D.

UPD2: Прошивка вышла спустя несколько минут после нажатия на кнопку «Опубликовать»! 😀

UPD3:Прямые ссылки на загрузку:

Phone 3GS
iPhone 3G
iPod Touch 2G
iPod Touch 3G


Читайте также: