Услуги Распространения Мобильных Приложений Для Ios. Часть 1: Тестовый Полет

Введение С каждым годом становится все более очевидным, что необходимы специализированные сервисы для распространения тестовых версий iOS-приложений.

Это актуально не только для компаний, разрабатывающих приложения в «промышленных масштабах», но и для инди-разработчиков.

Причины: увеличение количества устройств с «нестандартными»/«немногократными» размерами экрана, различия в архитектуре центрального и графического процессоров — все, что раньше было обыденностью при разработке под Android, теперь становится справедливым и для iOS. .

Исторически самым популярным сервисом распространения был TestFlight — практически идеальный, как с технической точки зрения, так и с точки зрения удобства использования.

Однако после приобретения Apple в начале 2014 года сервис претерпел ряд спорных изменений, которые, с одной стороны, негативно повлияли на его лидерские позиции, а с другой, дали шанс альтернативным сервисам побороться за первое место.

и предложить хотя бы равноценную замену, а может даже что-то более удобное и функциональное.

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

В обзоре участвуют следующие сервисы (части обзора будут публиковаться в таком порядке):

  • Apple TestFlight
  • ХоккейApp
  • Убертестеры
  • Crashlytics (в составе Fabric)
Старая версия TestFlight не будет рассматриваться, поскольку она все еще работает и доступна по адресу www.testflightapp.com , использовать его в долгосрочной перспективе не имеет смысла по ряду причин:
  • нет никакой гарантии, что Apple не приостановит или не прекратит его работу в любое время.

  • Сервисный SDK недоступен для загрузки; более того, невозможно использовать сервис, если приложение использует SDK
  • сервис больше не является кроссплатформенным; поддерживается только распространение приложений iOS ( подробнее )
Важный! Незадолго до публикации статьи команда TestFlight (старая версия) разослала уведомление о том, что старый сервис перестанет работать 26 февраля 2015 года ( подробности ).

Система рейтингов: услуги будут оцениваться по 10-балльной шкале по каждому разделу (Регистрация и интеграция, Базовый функционал, Дополнительный функционал, Непрерывная интеграция).

Сумма баллов определит победителя (окончательное заключение будет включено в последнюю часть обзора).

Тестовый полет Apple

Регистрация и интеграция

Чтобы использовать эту услугу, помимо вашей учетной записи разработчика (Программа разработчика iOS), у вас должен быть доступ к iTunesConnect. Функциональность зависит от роли (группы), к которой принадлежит используемая учетная запись iTunesConnect. Пользователи Технической группы могут:
  • включить/отключить режим бета-тестирования TestFlight для приложений (вкладка «Предварительная версия»)
  • выбрать тестировщиков из списка доступных внутренних тестировщиков, но не иметь возможности создать этот список на странице iTunes Connect -> Пользователи и роли -> Бета-тестеры TestFlight -> Внутренняя страница
  • создать список внешних тестировщиков Мои приложения -> Приложение -> Пререлиз -> Внешние тестировщики (но для распространения версий для внешних тестировщиков приложение должно быть проверено Apple)
Пользователи в группе «Администраторы» имеют те же права, что и пользователи в группе «Технические», а также могут добавлять новых пользователей в список внутренних тестировщиков.

На данный момент нет необходимости устанавливать или использовать какой-либо специализированный SDK.

Услуги распространения мобильных приложений для iOS. Часть 1: Тестовый полет



Услуги распространения мобильных приложений для iOS. Часть 1: Тестовый полет



Услуги распространения мобильных приложений для iOS. Часть 1: Тестовый полет

Оценка: 8/10.

Основной функционал

Если сравнивать новую версию TestFlight с тем, что ранее было доступно разработчикам в рамках стандартных сервисов Apple, то это в некотором смысле, несомненно, шаг вперед. Например, количество тестировщиков увеличено с условных 100 до 1125 (из них 100 — ранее доступные устройства для AdHoc-раздачи, 25 — внутренние тестировщики и 1000 — внешние тестеры), а если ранее привязка проводилась к устройства, теперь уникальным идентификатором является Apple ID, а значит каждый тестировщик может проверить работу приложения на всех доступных ему устройствах (и, конечно же, поддерживаемых приложением).

Примечание (от 15 июня 2015 г.

): количество устройств, доступных при использовании профилей обеспечения AdHoc с 8 июня 2015 г.

изменено со 100 в целом до 100 на одно семейство устройств (изменение произошло после объявления на WWDC об объединении всех разработчиков программы в одну).

Разница между внутренними и внешними тестировщиками заключается в дополнительном этапе, который добавляется во втором случае: тестовая версия приложения должна быть отправлена на рассмотрение и одобрена специалистами Apple (Beta App Review).

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

Это, конечно, накладывает определенные ограничения на процесс разработки и требует дополнительного планирования этапов тестирования приложений с учетом неопределенности сроков проверки (как в случае с регулярным обзором приложений перед публикацией в AppStore, если в публикации отказано, повторная заявка рассматривается повторно в порядке очереди).

Но есть и другие особенности, которые отличают решение Apple от альтернатив, к сожалению, не в лучшую сторону:

  • Клиентское приложение сервиса можно установить только на iOS 8.0 и выше; поэтому невозможно тестировать приложения на устройствах с предыдущими версиями iOS.
  • Для распространения тестовых версий необходимо создать профиль обеспечения распространения AppStore и настроить профиль приложения в iTunes Connect.
  • Поскольку дистрибутив приложения загружается через стандартный мастер Xcode -> Архив -> Экспорт, то необходимо, чтобы проект приложения содержал 3 основных значка.



Услуги распространения мобильных приложений для iOS. Часть 1: Тестовый полет

  • Количество приложений, одновременно доступных для тестирования, ограничено 10.
  • Сервис работает очень медленно, это касается как скорости обновления списка доступных приложений и их версий, так и скорости загрузки/установки приложений на тестовые устройства.

  • Отправка отзыва с тестового устройства осуществляется с помощью клиентского приложения, но так как это обычное письмо, то нет возможности прикрепить скриншот (в качестве плюса можно отметить блок с описанием характеристик тестового устройства).

    автоматически вставляется в письмо).

  • Возможность отправить отзыв появляется только в том случае, если в iTunes Connect в настройках версии есть указание, что именно нужно протестировать (а если не указан адрес электронной почты для получения отзыва, поле «Кому» в письме будет пустым) ).

  • Для тестирования может быть доступна только одна версия приложения (у тестировщика нет возможности выбора, настройки доступности производятся в профиле приложения в iTunesConnect).

  • Поле «Электронная почта обратной связи» в настройках версии приложения в iTunesConnect приходится заполнять каждый раз (логичнее было бы запомнить, оставив возможность редактирования).

  • Как неудивительно, TestFlight в версии Apple не является сервисом, работающим в режиме 24х7; например, в конце декабря при попытке зайти в iTunesConnect можно было увидеть следующее сообщение: iTunes Connect недоступен до 29 декабря.

    (справедливости ради стоит отметить, что Apple ежегодно устраивает подобные «каникулы» и рассылает уведомление за неделю до их возникновения).

Однако есть и уникальные особенности: например, клиент службы (приложение TestFlight) — единственный, кто наверняка знает статус установки тестовой версии; альтернативные решения просто не имеют возможности использовать системные функции, позволяющие это реализовать.

Примечание: статус установки — это изменение индикации процесса установки, знакомой пользователям AppStore. При изменении статуса поочередно Получить - Установить - Установка - Открыть.

В других сервисах дистрибутива эта цепочка выглядит так: Установка - Установка - Установка - приложения просто не знают результат, установился тестовый дистрибутив или нет. В случае с Apple TestFlight цепочка имеет обычный вид: Установить — Установка — Открыть.



Услуги распространения мобильных приложений для iOS. Часть 1: Тестовый полет

Иконка обновленного приложения TestFlight (правильнее было бы сказать, что это совершенно новое нативное приложение, разработанное Apple).

Ниже приведен пример иконки тестовой версии приложения — оранжевая «точка» позволяет определить, что это не версия из AppStore.

Услуги распространения мобильных приложений для iOS. Часть 1: Тестовый полет

«Страховка» Apple от обвинений в рассылке спама.



Услуги распространения мобильных приложений для iOS. Часть 1: Тестовый полет

Apple не разрешает загружать дистрибутивы без изменения версии или номера сборки.



Услуги распространения мобильных приложений для iOS. Часть 1: Тестовый полет

Достаточно лаконичная и понятная страница администрирования версий приложения для тестирования.



Услуги распространения мобильных приложений для iOS. Часть 1: Тестовый полет

Письмо-приглашение для участия в тестировании, форматирование HTML не очень оптимизировано для мобильных платформ (справедливости ради отмечу, что приложение Почта отображает такие письма корректно, но в OWA письма от других сервисов отображаются нормально).



Услуги распространения мобильных приложений для iOS. Часть 1: Тестовый полет

Приложение TestFlight: информация о приложении, доступном для тестирования.



Услуги распространения мобильных приложений для iOS. Часть 1: Тестовый полет



Услуги распространения мобильных приложений для iOS. Часть 1: Тестовый полет

Приложение TestFlight — единственное, способное определить результат установки тестовой версии (кнопка «Установить» изменилась на «Открыть») — преимущество, полученное с переходом на Apple.

Услуги распространения мобильных приложений для iOS. Часть 1: Тестовый полет

Письмо с отзывом, отправленное из приложения TestFlight. Помимо плохого форматирования и невозможности добавления вложений, можно отметить еще один недостаток: отправленные отзывы попадают только в почтовый ящик; эта информация не сохраняется и недоступна в iTunes Connect. Подводя итог, можно сказать, что обновленная версия TestFlight просто работает. На данный момент особых конкурентных преимуществ у него нет (речь идет о функциональности, а не о неоспоримом преимуществе – принадлежности к Apple, что все же скорее потенциал).

Оценка: 6/10.

Дополнительный функционал

На данный момент, к сожалению, Apple использует только цифры, а не навыки.

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

распространение приложений и имеет преимущество перед сторонними решениями).

Обновление (5 мая 2015 г.

): с выходом Xcode 6.3 стало доступно разработчикам.

Организатор сбоев .

Новый функционал, несомненно, является хорошим знаком того, что Apple продолжает развивать свои сервисы, но, к сожалению, компания по-прежнему отстает от других сервисов: Когда вы открываете органайзер сбоев, Xcode начинает обновлять отчеты о сбоях для ваших приложений.

Xcode загружает самые популярные отчеты о сбоях — отчеты о сбоях с наибольшим количеством случаев на уникальных устройствах — которые произошли за последние две недели.

Однако между моментом первого распространения вашего приложения и появлением отчетов о сбоях в Xcode может пройти задержка до трех дней.

Три дня задержки и срок доступа к архиву в две недели выглядят несколько обескураживающе.

Рейтинг: 1/10.

Непрерывная интеграция

Примечание: нюансы использования сервисов в рамках непрерывной интеграции, описанные ниже в этом обзоре, подразумевают, что это будет сделано на основе решения, предлагаемого Apple. То есть использование ботов Mac OS X Server и Xcode — на организации такой интеграции я не буду подробно останавливаться, возможно, это будет тема для отдельной статьи.

Желающие могут ознакомиться с темой самостоятельно, например, обратившись Официальное руководство Apple. Как бы странно это ни казалось, на данный момент нет возможности автоматически публиковать приложения в Apple TestFlight. Я надеюсь, что этот большой недостаток будет исправлен компанией в одном из следующих крупных обновлений Xcode, тем более, что в оригинальном TestFlight была такая функция.

Рейтинг: 0/10. Общий суммарный балл по всем разделам: 15 баллов.

Продолжение следует. Теги: #тестирование #мобильные приложения #дистрибутив #дистрибутив #iOS #разработка #testflight #разработка iOS #Разработка мобильных приложений #Тестирование мобильных приложений

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.