За останні кілька тижнів перед нами розгорнулася цікава і в деякому роді показова історія, в якій взяли участь 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.

Для цього нам знадобиться:

  • Безкоштовний додаток iExplorer, яке дозволяє творити чудеса з деякими областями файлової системи іДевайсов навіть без джейлбрейка.
  • Спеціальний PLIST файл com.rogueamoeba.airfoilspeakerstouch.plist (ZIP), який активує підтримку AirPlay в додатку.
  • Послідовність кроків проста до неподобства:

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

    Наостанок я б порадив вам зберегти поточну версію Airfoil Speakers Touch для iOS. Раптом розробники надумають прибрати цей код з майбутніх версій програми.