воскресенье, 9 февраля 2014 г.

TestFlightApp - рекомендую

Как раздавать свои мелкие утилитарные йОс-ные(а между прочим, об Андроиде здесь тоже речь будет) приложения? Есть (я буду по-колхозному писать) АпСторе, есть Дебагинг со шнурком, и есть ещё один странный штук - АдХук. 

Первый вариант для нас - не вариант. Это только "продукт" можно в магазин отдать и ждать полмесяца пока его на полку выложат. А могут и не выложить хотя бы потому, что у Яблончан ВНЕЗАПНО изменились какие-то взгляды на жизнь. Програмульку, которую дать попробовать и быстро отзыв получить для дальнейшей модификации, с таким выходом на исполняющие устройства - не сделать никак. 

Отладкой по шнурку тоже не сильно далеко разбежишься. Это надо брать устройство, отвлекать человека, смотреть его фотки, которые в айТюнз при подключении очень хотят выскочить и резервно скопироваться - жутко невежливо. Никто не любит, когда его почти(да можно и без "почти") интимную вещь подключают к чужому компу, когда какой-то электрический провод втыкают в  это милое родное существо, и какой-то хаккер-багописатель пытается туда внедрить свою колхозную самоделку, да ещё и неизвестно, сколько времени это займёт. А надо учесть, что люди с надкусанными яблоками ещё и очень заняты всегда на разных очень важных совещаниях в самых разных местах нашей необъятной Родины(да что там, Планеты!). Короче - всё плохо.

АдХук - вот спасение! Надо взять с устройства идентификатор, сформировать провижинг(кто не знает перевод - я не виноват), выслать программу на устройство, там перенести в айТюнз, и установить. Хм.. - тоже как-то, уже начиная с " взять идентификатор", не очень чтобы просто...

Что же делать? А вот - прошу обратить внимание на чудо-сайт "TestFlightApp.com" - превосходное решение для мелкоштучных поделий! Вы регистрируетесь сами, просите зарегистрироваться своих тестеров, шлёте им приглашения, и когда они принимают эти приглашения, то вам - о, чудо! - безо всяких подключений к посторонним компам сразу приходят идентификаторы тестовых устройств. Осталось только заполнить провижинг на Developer.Apple.Com, чтобы скомпилить-подписать новым провижингом приложение и загрузить свежеиспечённый билд на этот замечательный сайт TestFlightApp. Нет, ещё не совсем всё. Ещё вы на сайте должны отметить, кому дать разрешение на публикуемое приложение. При этом можно попросить сайт отправить тестерам уведомление. Очень удобно.

А как это выглядит со стороны пользователя? Ему приходит от нас письмо с просьбой подтвердить участие в нашем проекте. Он регистрируется, и на столе его устройства появляется значок TestFlight. Это ссылка на сайт,  где можно посмотреть список доступных приложений с описанием. Нетерпеливый пользователь может сам следить за новостями, периодически заглядывая в TestFlight, а нормальные люди просто получают письма счастья от разработчика. И - чудо из чудес! - совсем как в АпСторе - на столе,  стоит только немного подождать пока пройдёт загрузка,  появляется иконка нашего(вашего) приложения. И всё - вперёд и с песней!

Ура! Никаких проводов и ограничений по времени или местности! Это ли не чудо?!

Разумеется, TestFlightApp предлагает дополнительные функции, связанные с тестированием приложений. Но это уже мелочи по сравнению с тем, что мы уже получили.

Теперь пару слов о том, каковы особенности переустановки йОс-приложения через TestFlight. Я слышал жалобы, что при переустановке все накопленные данные, изменения - всё пропадает. Если с Андроидом проблем больших нет - надо просто все изменения класть во внешнее место, то Яблочная песочница нас файловой системой не сильно балует. А как установить приложение через айТюнз, если оно уже стоит? Надо старое удалить. И если что-то совсем специальное не придумать, то всякие данные (настройки, например) - тю-тю. Так вот - TestFlight пишет новую версию программы поверх старой, не затрагивая те файлы, которые получились в результате прикладной деятельности! Т.е. все изменения и дополнения пользователя сохраняются! Здорово?

Будьте осторожны. Делфи-приложение при запуске начинает выделять из себя в песочницу файлы, которые нужны ему в работе. При этом если файл уже существует, то он не будет перезаписан. И вот представьте, что вы положили в деплоймент не просто новую картинку, а  изменённую картинку. Что будет? Да, изменений на устройстве вы не увидите - новая картинка не будет выгружена из пакета приложения. Имейте это в виду. Praemonitus praemunitus!

Итак, желаю всем, кто ещё не изведал прелестей TestFlight,  приятного знакомства!

И, кстати, Андроид-приложения также могут участвовать в процессе тестирования под опекой TestFlightApp.