Тест флай apple что это

Как разработчики под носом у Apple создали альтернативный App Store

У App Store, в отличие от Google Play, никогда не было альтернатив. Apple не только не приветствовала их появление, но и всячески этому препятствовала. В Купертино считали, что пользователи должны скачивать только безопасный софт, который соответствует установленным стандартам. Поэтому в компании был образован специальный отдел цензоров, которые проверяют приложения, попадающие в App Store, чтобы гарантировать своим клиентам высокое качество и отсутствие вредоносных скриптов. Правда, ушлые разработчики нашли, как выйти и из этой ситуации.

TestFlight давно превратился в единственный альтернативный магазин приложений для iOS

TestFlight (скачать) – это тестовая платформа Apple для приложений, где разработчики могут размещать свои программы, чтобы протестировать их на узкой аудитории пользователей непосредственно перед публикацией в App Store. Но если раньше количество участников тестирования было ограничено на отметке в 100 человек, то со временем Apple подняла планку до 10 000. В результате TestFlight превратился в своего рода альтернативный каталог приложений с менее строгими требованиями, чем и воспользовались многие разработчики.

Зачем нужен TestFlight

TestFlight доступен в App Store и его могут скачать любые пользователи

Пользователи требуют у разработчиков расширения функциональных возможностей их приложений, но те зачастую не могут на это пойти из-за установленных ограничений. Но в TestFlight многие правила не действуют, потому что Apple делает для них скидку, учитывая, что это тестовые приложения, которые перед публикацией в App Store всё равно подгонят под установленные гайдлайны. Другое дело, что хитрые разработчики повадились размещать в TestFlight свой софт как в конечной точке – без намерений вывести его в App Store. Поэтому всё, что нужно пользователям, — это получить прямую ссылку на скачивание, и наслаждаться полулегальной программой на iOS.

Особенно разработчиков привлекает полное отсутствие комиссионного сбора. Несмотря на то что приложения в TestFlight могут включать в себя встроенные покупки, Apple не будет брать с них комиссию, хотя платежи и проходят через App Store. А ведь есть ещё и другие преимущества в виде возможности добавить в приложение ссылки на другие приложения и игры, не размещённые в официальном каталоге. Именно это, кстати, и сделала Microsoft, когда тестировала игровой сервис xCloud, который в итоге не допустили к публикации в App Store.

Аналог App Store

Да, принять участие в «тестировании» приложения из TestFlight могут одновременно не больше 10 000 человек, что может показаться откровенно маленькой цифрой. Всё-таки многие именитые студии рассчитывают на миллионные аудитории, ведь только в этом случае, по их мнению, программа или игра может оправдать затраты на разработку и продвижение. Однако в TestFlight, как правило, публикуются так называемые андеграундные разработчики, которые создают узконаправленное ПО, и 10 тысяч пользователей им обычно хватает.

В TestFlight не действуют те же требования, что и в App Store

Сейчас Apple проверяет приложения, которые публикуются в TestFlight, спустя рукава. Цензоры просто убеждаются в том, что программа рабочая и не содержит вредоносных скриптов, позволяя ей довольно просто попасть на площадку. При этом зачастую обновления, которые они выпускают для софта в TestFlight, проверке уже не подлежит. Во всяком случае, некоторые разработчики, которые рискнули проверить это и добавили в свои программы запрещённые функции, убедились, что за этим действием не последовало удаления.

Telegram потребовал у Еврокомиссии разрешить альтернативы App Store

Сейчас разработчики опасаются, что Apple начнёт жёстче контролировать TestFlight, потому что он уже обрёл невероятную популярность у тех, кто хочет обойти правила App Store. Несмотря на то что сама компания не считает TestFlight альтернативным магазином приложений, где должны действовать те же правила, что и в основном, взять его под контроль она может. Конечно, комиссию за транзакции в тестовых приложениях вряд ли введут, однако начать следить за функциональностью софта могут ещё как.

Источник

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

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

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

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

Читайте также:  Сканматик 2 для айфона

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, их смело можно задавать в комментариях, постараюсь (постараемся) на них ответить.

Читайте также:  Iphone параллакс эффект параллакса

Источник

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

С каждым годом становится всё очевиднее, что для распространения тестовых версий iOS-приложений нужны специализированные сервисы. Это актуально не только для компаний, занимающихся разработкой приложений в “промышленных масштабах”, но и для инди-разработчиков. Причины: увеличение количества устройств с “нестандартным”/”не кратным” размером экрана, отличия в архитектуре центрального и графических процессоров — всё то, что раньше было повседневностью для разработки под Android, теперь становится справедливым и для iOS.

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

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

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

  • Apple TestFlight
  • HockeyApp
  • Ubertesters
  • Crashlytics (как часть Fabric)

TestFlight старой версии не будет рассмотрен, так как хотя он по-прежнему работает и доступен по адресу www.testflightapp.com, использование его в долгосрочной перспективе не имеет смысла по ряду причин:

  • нет никаких гарантий, что Apple не приостановит или не прекратит его работу в любой момент
  • SDK сервиса не доступно для скачивания, более того невозможно использовать сервис, если приложение использует SDK
  • сервис больше не является кросс-платформенным, поддерживается только распространения приложений для iOS (подробнее)

Важно! Буквально накануне публикации статьи команда TestFlight (старой версии) разослала уведомление, в котором сообщается, что старый сервис прекратит свою работу 26 февраля 2015 года (подробности).

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

TestFlight от Apple

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

Для использования сервиса кроме аккаунта разработчика (iOS Developer Program) необходимо получить доступ к iTunesConnect. Функционал зависит от роли (группы), к которой относится используемый аккаунт iTunesConnect. Пользователи из группы Technical могут:

  • включать/отключать режим TestFlight Beta Testing для приложений (вкладка Prerelease)
  • выбирать тестеров из списка доступных Internal Testers, но не имеют возможности формировать этот список на странице iTunes Connect -> Users and Roles -> TestFlight Beta Testers -> Internal
  • формировать список внешних тестеров My Apps -> APP -> Prerelease -> External Testers (но для распространения версий для внешних тестеров приложение должно пройти ревью в Apple)

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

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



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

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

Примечание (от 15 июня 2015): количество устройств, доступных при использовании AdHoc provision profiles с с 8 июня 2015 года было изменено со 100 суммарно, на 100 на каждое семейство устройств (изменение произошло после объявления на WWDC об объединении всех developers programs в одну).

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

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

  • Приложение-клиент сервиса может быть установлен только на iOS 8.0 и выше, соответственно нет возможности тестировать приложения на устройствах с iOS предыдущих версий.
  • Для распространения тестовых версий необходимо создать AppStore Distribution provisioning profile и настроить профиль приложения в iTunes Connect.
  • Так как загрузка дистрибутива приложения осуществляется через стандартный визард Xcode -> Archive -> Export, необходимо чтобы проект приложения содержал 3 основных иконки.

  • Количество приложений, одновременно доступных для тестирование ограничено 10.
  • Сервис работает очень медленно, это касается как скорости обновления списка доступных приложений и их версий, так и скорости скачивания/установки приложений на тестовые устройства.
  • Отправка отзыва с тестового устройства осуществляется при помощи приложения-клиента, но так как это обычное письмо, нет возможности прикрепить скриншот (как плюс можно отметить, то что в письмо автоматически вставляется блок с описанием характеристик тестового устройства).
  • Возможность отправки отзыва появляется только, если в iTunes Connect в настройках версии имеется указание, что именно требуется протестировать (а если не будет указан адрес электронной почты для получения отзывов, то поле “To” в письме окажется незаполненным).
  • Для тестирования может быть доступна только одна версия приложения (тестер не имеет возможность для выбора, настройки доступности делаются в профиле приложения в iTunesConnect).
  • Поле “Feedback Email” в настройках версии приложения в iTunesConnect приходится заполнять каждый раз (логичней было бы запоминать, оставляя возможность для редактирования).
  • Как не удивительно, но TestFlight в версии от Apple не является сервисом, работающим по принципу 24х7, например в конце декабря при попытке входа в iTunesConnect можно было увидеть такое сообщение: iTunes Connect is unavailable until December 29. (справедливости ради, стоит отметить, что подобные “каникулы” Apple устраивает ежегодно и рассылает уведомление за неделю до их наступления).
Читайте также:  Управление android с айфона

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

Примечание: статус установки — смена индикации процесса установки, привычная пользователям AppStore. Когда поочередно статус меняется Get — Install — Installing — Open. В других сервисах дистрибуции эта цепочка выглядит так: Install — Installing — Install — приложения попросту не знают результат, был ли установлен тестовый дистрибутив или нет. В случае же с Apple TestFlight цепочка имеет привычный вид: Install — Installing — Open.

Иконка обновленного приложения TestFlight (правильнее будет сказать, что это абсолютно новое native приложение, разработанное в Apple). Ниже пример иконки тестовой версии приложения — оранжевая “точка” позволяет определить, что это не версия из AppStore.

“Страховка” Apple от обвинений в распространении спама.

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

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

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

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

Приложение TestFlight единственное умеет определять результат установки тестовой версии (кнопка Install поменялась на Open) — преимущество, полученное с переходом к Apple.

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

Резюмируя, можно сказать, что обновленная версия TestFlight просто работает. В данный момент она не имеет особых конкурентных преимуществ (речь идёт о функционале, а не неоспоримом преимуществе — принадлежности компании Apple, которое пока в большей мере является потенциалом).

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

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

Обновление (5 мая 2015): с релизом Xcode 6.3 разработчикам стал доступен Crashes Organizer. Новый функционал, несомненно, хороший признак того, что Apple продолжает развивать свои сервисы, но, к сожалению, компания всё ещё отстаёт от других сервисов:

When you open the Crashes organizer, Xcode begins refreshing the crash reports for your apps. Xcode downloads the top crash reports—crash reports with the most number of occurrences on unique devices—that occurred during the past two weeks. However, there may be up to a three day delay between when you first distribute your app and when crash reports are available in Xcode.

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

Continuous Integration

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

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

Итого суммарная оценка по всем разделам: 15 баллов.

Источник

Оцените статью