За последние несколько недель перед нами развернулась интересная и в некотором роде показательная история, в которой приняли участие Apple, разработчики приложения Airfoil и другие факторы, о которых я хотел бы рассказать в этой статье. А в качестве бонуса — помочь активировать AirPlay в текущей версии приложении Airfoil Speakers Touch для iOS.

Итак, поехали. Данная история началась еще в апреле, когда команда разработчиков Rogue Amoeba, известная своим замечательным приложением Airfoil (наш обзор), выпустила новую версию мобильного приемника Speakers Touch (App Store). Среди разнообразных улучшений и обновленного интерфейса приложение получило прямую поддержку протокола AirPlay, используемого компанией Apple для беспроводной потоковой передачи аудио и видео на любые совместимые устройства. Новую функцию нужно было приобретать в Speakers Touch отдельно через In-App Purchase за 2.99$.

Эта ситуация всех устраивала вплоть до прошлой недели, когда большинство блогов опубликовали «шокирующую новость» об изгнании Speakers Touch из App Store по неизвестной причине. Высказывались даже полностью абсурдные предположения, что программа дублирует функциональность будущей iOS 6, поэтому компания из Купертино решила заранее избавиться от конкурента.

В связи с этим один из читателей блога Cult Of Mac по имени Кевин Старберд (Kevin Starbird) написал Тиму Куку электронное письмо, в котором попросил объяснить данное решение. Но вместо главы компании на него ответил Фил Шиллер, вице-президент Apple по международному маркетингу. По его словам, разработчики из Rogue Amoeba при добавлении поддержки AirPlay использовали закрытые API, чем нарушили условия соглашения с Apple. Поэтому мобильное приложение было изъято из App Store, а разработчиков попросили устранить этот недостаток (что они, собственно, и сделали в последнем обновлении Airfoil Speakers Touch).

Но уже вчера в блоге Rouge Amoeba появился ответ Филу Шиллеру. Во-первых, они сказали, что не использовали закрытых API и написали весь код самостоятельно благодаря реверс-инжинирингу. Во-вторых, лицензия на AirPlay предоставляется только производителям «железа», а не создателям ПО (и добиться от Apple вменяемого ответа по поводу приобретения такой лицензии для своего приложения они так и не смогли). В-третьих, реверс-инжиниринг устройств и протоколов является «давней и юридически легальной традицией», поэтому разработчики очень обиделись на Apple.

На мой взгляд эти претензии как минимум не обоснованы — AirPlay (ранее AirTunes) никогда не был открытым протоколом и использовался яблочной компанией исключительно в собственных интересах. Правила игры тоже устанавливает Apple. Поэтому я не удивлюсь, если нас будет ожидать продолжение этой истории.

И в заключение этой статьи я бы хотел рассказать, как активировать поддержку AirPlay в Speakers Touch — этот код, судя по всему, был оставлен в последней версии приложения. Данный способ обнаружил Стивен Трогтон-Смит (Steven Troughton-Smith), который в свое время занимался портированием Siri на iPhone 4.

Для этого нам потребуется:

  1. Бесплатное приложение iExplorer, которое позволяет творить чудеса с некоторыми областями файловой системы iДевайсов даже без джейлбрейка.
  2. Специальный PLIST-файл com.rogueamoeba.airfoilspeakerstouch.plist (ZIP), активирующий поддержку AirPlay в приложении.

Последовательность шагов проста до безобразия:

  1. Для начала загружаем архивы по ссылкам выше, распаковываем PLIST-файл и запускаем приложение. Ваш iPhone/iPad/iPod touch должен быть подключен через USB-кабель к компьютеру.
  2. Выбираем iДевайс, заходим в папку Apps > Speakers > Library > Preferences (на скриншоте выше) и создаем на всякий случай резервную копию оригинального файла com.rogueamoeba.airfoilspeakerstouch.plist. Например, перетаскиваем его на рабочий стол или в любую другую папку на компьютере.
  3. Перетягиваем распакованный *.plist в каталог Preferences на iДевайсе и заменяем оригинальный файл.
  4. Выходим из iExplorer, запускаем программу Airfoil Speakers Touch, переключаемся в iTunes и видим, что в строке состояния появилось новое AirPlay-совместимое устройство:

Теперь мы можем передавать музыку из iTunes напрямую на iPhone, без проводов (даже покупка лицензии на десктопную версию Airfoil не требуется):

Напоследок я бы посоветовал вам сохранить текущую версию Airfoil Speakers Touch для iOS. Вдруг разработчики вздумают убрать этот код из будущих версий приложения.


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