Pull to refresh

И еще немного про сервис тестирования iOS-приложений Test Flight

Reading time 4 min
Views 42K
Спасибо Shmatlay за сегодняшний обзор сервиса Test Flight.
Поскольку в нашей компании мы им тоже пользуемся и достаточно активно, не могу не вставить свои пять копеек по поводу указанного сервиса, основываясь на опыте его эксплуатации.
Если кто-то пропустил указанный пост, кратко поясню, что Test Flight — это сервис, упрощающий тестирование приложений для iOS-устройств путем облегчения процесса сбора кодов тестовых устройств (UDID-ов), а также путем более легкого распространения подписанных для тестеров билдов Вашего приложения. Ну и плюс, можно видеть, сколько раз приложение запускали, сколько раз оно падало, а также получать некоторую отладочную информацию.

1. Прежде всего, для работы большей части описанных выше плюшек необходимо установить TestFlight SDK, который представляет собой библиотечку для введения в Ваше приложение возможностей расширенного логирования и прочего добра. Процесс установки совершенно не сложный и подробно описан вот тут.

2. Для распространения своих приложений между пользователями необходимо будет получить ad-hoc distribution profile, либо если разработки приложения ведется с использованием корпоративной учетки, соответствующий ей [enterprise] distribution profile (не помню, как он точно называется). Следовательно, UDID-ы устройств придется руками брать из писем потенциальных-бетатестеров, идти на сайт developer.apple.com, и регистрировать их для подписи ad-hoc приложения. Тут, к сожалению, от этого никуда уйти не удалось.

3. Как показала практика, приложения, в которых TestFlight SDK не был внедрен, но которые были подписаны UDID-ами тестеров прекрасно рассылаются через сервис тестерам с упомянутыми UDID-ами, так что если Вы по какой-либо причине не хотите, чтобы в Вашем приложении был чужой код (привет, TestFlight SDK!), то вполне можете этот самый SDK не внедрять — тестеры все равно смогут использовать Ваши приложения путем загрузки через сервис.

4. Обращаю особое внимание на то, что посредством ad-hoc распространения приложений и тестирования ad-hoc сборок Вы можете использовать не более 100 UDID-ов в год для приложений подписанных учетной записью индивидуального разработчика. Это напоминание будет полезно для тех, кто планирует выпустить более 3-4 приложений за [проплаченный за 100 долларов] год и широко тестировать их среди народных масс. Эппловское ограничение в 100 устройств при использовании сервиса никуда не девается! (Хотя, полагаю, что это и так всем понятно, но мало ли)

5. Для сборки подписанных билдов у разработчиков сервиса есть хорошие (хотя и не самые актуальные) гайды. Для Xcode 3 мануал тут, для Xcode 4 — тут. Для успешного создания архива с билдом достаточно строго следовать этим инструкциям. Обращаю внимание пользователей Xcode 4, что для их версии инструкции пункт 2 в последних сборках Xcode потерял актуальность, никакой подгруппы Code Signing при создании нового файла теперь нет и в помине. Вместо этого, Вам необходимо создать обыкновенный .plist-файл с именем, например, Entitlements.plist и прописать его в правильной строке согласно инструкции ребят из TestFlight. Не раз и не два сталкивался с ситуацией, когда в результате каких-то неправильных манипуляций с файлом Entitlements.plist, в результате создания архива приложения вылезало предупреждение, что-де произошла ошибка подписывания приложения и приложение не подписано. В этом случае, настоятельно рекомендую проверить еще раз все ли Вы сделали по преложенной выше инструкции, а если все сделано правильно, но все равно предупреждение вылезает, попробуйте удалить Entitlements.plist и сделать его заново. Я уделяю этому особое внимание потому, что если Вы будете распространять билд приложения, полученные с предупреждением о неправильной или отсутствующей подписи, то Ваши тестировщики просто не смогут установить это приложение. Верным признаком такой проблемы являются жалобы тестировщиков вида «я начинаю скачивать приложение, потом оно неожиданно говорит, что установка не может быть завершена и установка прекращается». В этом случае либо приложение было не подписано для данного тестировщика (а точнее его UDID-а устройства), либо произошла описанная ошибка с подписью приложения на этапе создания его билда из архива.

6. Внедрение SDK увеличивает размер билда приложения примерно на 300 Кб. Если вдруг по какой-то немыслимой причине для Вас настолько критичен размер приложения — имейте это в виду (автор этих строк как-то раз добился увеличения размера дистрибутива билда своего приложения вдвое, всего лишь внедрив TestFlight SDK).

7. В некоторых случаях (автору этих строк не удалось понять, в каких именно) сервис заменяет Вашу иконку приложения собственным значком. Впрочем, склонен считать, что в моем случае в этом виноваты, скорее всего, мои кривые руки.

8. Некоторые пользователи обладают более чем одним устройством с iOS, при этом регистрируют в сервисе только одно из них после получения письма с инвайтом в тестирование, а потом недоумевают, почему на другом (других) iOS-устройствах приложение не запускается. В этом случае (опять же совершенно очевидное положение, но практика показывает, что есть люди, не до конца понимающие это) пользователю необходимо объяснить, что ему придется зайти на сайт Test Flight (или открыть письмо с инвайтом) на каждом устройстве, которое он хочет пометить как тестовое.

9. В целом, сервис оставляет после использования весьма приятное впечатление, позволяя оперативно собирать UDID-ы и рассылать билды приложений. К этим двум основным вещам прикручены еще управление списками проектов (aka команд тестировщиков/чего-либо-еще), возможность видеть, кто из тестировщиков получил письмо с инвайтом, кто его прочитал, кто установил приложение и все в таком духе. Кстати о том, кто установил приложение. Установкой приложения считается момент начала загрузки приложения с сервера TestFlight. Если после этого установка приложения зависнет, завершится аварийно, либо произойдет еще что-то, выходящее из ряда вон (вроде вторжения пришельцев с Проксимы Центавра), у Вас в админке будет складываться полное впечатление, что пользователь приложение установил штатно. Не далее как сегодня был случай, когда на один iPhone приложение не хотело ставится (даже не загружалось), а на другой вставало отлично. Однако, это я тоже склонен списывать на собственные кривые руки.

10. Помимо iOS других платформ пока не поддерживается.

11. Сервис бесплатный и обещает, что базовый функционал, доступный сегодня, будет бесплатен всегда.

Ну что же, спасибо за внимание, если возникнут какие-то вопросы по работе с Test Flight, их смело можно задавать в комментариях, постараюсь (постараемся) на них ответить.
Tags:
Hubs:
+5
Comments 12
Comments Comments 12

Articles