Поиск по этому блогу

понедельник, 19 ноября 2012 г.

Загрузка приложения(ipa) на устройство(iPhone) с помощью командной строки(Terminal)

Суть проблемы:
После компиляции приложения во FlashBuilder 4.6, приходится загружать ipa файл через iTunes или через органайзер Xcode-а. Это очень не удобно. Цель статьи: научить загружать  скомпилированное приложение на iУстройство автоматически сразу после компиляции во Flash Builder 4.6

Немного о Flash Builder 4.7
На момент написания статьи компанией Adobe была выпущена демо версия Flash Builder 4.7, которая как известно по умолчанию умеет загружать скомпилированное приложение по USB на iУстройство. После 2х недель работы с FlashBuilder 4.7, понял что демо версия еще очень сырая. Очень часто вылетают баги, приложение не компилится, часто приходится перегружать FB. Очень надеюсь что с выходом релизной версии все встанет на свои места.

Ближе к делу...
Погуглив немного нашел замечательную статью, о том как можно загрузить приложение на iУстройство из командной строки: http://gamua.com/blog/2012/03/how-to-deploy-ios-apps-to-the-iphone-via-the-command-line/ . Респект и уважением людям которые это сделали :) Статья правда на английском. Если вкратце, то необходимо скачать архивчик, разархивировать и вызвать в терминале команду:
transporter_chief.rb my-app.ipa

Скрипт устанавливает приложение my-app.ipa на первое найденное устройство. Если к компьютеру подключено более одного устройства, есть возможность указать на какое именно устройство необходимо установить приложение:
transporter_chief.rb my-app.ipa -d <идентификатор устройства>

Для того что бы скрипт запускался автоматически каждый раз когда Flash Builder компилит приложение, я написал sh-скрипт который раз в секунду проверят время последней модификации файла.ipa, и если время изменилось запускает скрипт установки приложения на устройство.
ctime="";
if [ -f mobile.ipa ]; then
 eval $(stat -s mobile.ipa)
 ctime=$st_mtime
fi

while sleep 1; do
if [ -f mobile.ipa ]; then
 eval $(stat -s mobile.ipa)
 if [ "$ctime" != "$st_mtime" ]; then
  ctime=$st_mtime
  echo "run install app"
  transporter_chief.rb -v mobile.ipa
 fi
fi
done

Ну вот и все, запускаем sh-скрипт который работает в фоновом режиме, и не обращая на него внимания работаем во Flash Builder.

PS Очень хотелось бы после установки ipa файла, научиться запускать приложение на iPhone из терминала, что бы не делать лишних телодвижений для запуска приложения во время отладки во FlashBuilder. Если кто знает как это сделать - поделитесь тайными знаниями :)

Комментариев нет:

Отправить комментарий