как отдать клиенту ios приложение для тестирования
Я разработал приложение для ios 12 в xcode 10.1 , такой вопрос: как мне отдать человеку приложения для тестирования не имея аккаунт разработчика, возможно ли это? Пробовал пользоваться testFlight по инструкции в интернете. Нужно зайти на сайт и выбрать раздел приложение, но при переходе пишет страница не найдена, прошу сильно не пинать я только начинаю разбираться в ios разработке, за любые советы заранее благодарен!
Отслеживать
17.9k 11 11 золотых знаков 25 25 серебряных знаков 56 56 бронзовых знаков
задан 22 фев 2021 в 9:35
99 8 8 бронзовых знаков
нужно иметь акк разработчика, вы выгружаете в эпл свое приложение и там уже распространяете его через testflight, иначе возможности мне кажется нет. Это не андроид где можно инсталлер скинуть и все (насколько я знаю)
22 фев 2021 в 9:44
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Правильный вариант — приобрести аккаунт разработчика клиенту и пригласить Вас в команду или дать доступ к этому аккаунту, где уже и настроить всё для тестирования (пригласить тестировщиков / внутреннее тестирование / внешнее тестирование)
Менее правильный — сделать то же самое под своим аккаунтом разработчика. Но потом то же самое нужно будет проделывать для клиента, так как для публикации все-равно ему нужно будет приобрести аккаунт.
Более экзотические варианты — установить непосредственно на его устройство удалённо или использовать что-то вроде https://appetize.io . (Не в курсе, остались ли ещё его аналоги). Можно просто записать видео работы приложения 🙂
Отслеживать
ответ дан 22 фев 2021 в 12:29
15.8k 1 1 золотой знак 18 18 серебряных знаков 35 35 бронзовых знаков
В вопросе речь просто про некого человека-тестера, не факт, что это заказчик
30 мар 2021 в 5:46
1 вариант: подключить устройство тестировщика к вашему Mac и установить через кабель из xCode — если вы физически можете встретиться.
2 вариант: получить UDID его устройства (что такое UDID, и как его получить: https://skalolaskovy.ru/ios/257-udid), добавить его в список «аккредитованных» устройств на сайте https://developer.apple.com в разделе «Certificates, Identifiers & Profiles«.
Создать Ad Hoc Distribution Profile.
Затем сделать сборку приложения (получить ipa-файл) с использованием этого профиля. ipa-файл отправить тестеру, он сможет установить его с помощью iTools, iMazing, Apple Configurator 2 или через сайт DIAWI.COM
Приложение будет работать до конца срока жизни профиля (1 год с момента его создания, но не более срока годности сертификата, которым данный профиль был подписан).
3 вариант: Использовать Test Flight (это проще и быстрее, чем вариант 2, особенно, если в процессе разработки и тестирования вы часто будете делать новые сборки приложения, но приложение будет «жить» только 90 дней).
Для этого нужно авторизоваться на сайте https://developer.apple.com, перейти в App Store Connect и создать Новое приложение, оформить его страницу по минимуму, потом в разделе Test Flight настроить альфа-тестирование (для зарегистрированных в качестве разработчиков в вашей учетке) или бета-тестирование (для любых сторонных Apple ID).
Описывать это тут подробно — долго и нет смысла (в сети полно шпаргалок об этом, в том числе официальная документация от Apple), если нужна помощь, могу один раз показать, как это сделать.
4 вариант: Если есть Enterprise-аккаунт разработчика Apple (за 299$ который), создать Enterprise (InHouse) Distribution Profile (аналогочно варианту 2, но без UDID), создать ipa-файл приложения — его можно будет установить на любое устройство (которое соответствует настройкам, указанным вами в xCode для проекта — тип устройства, версия iOS).
TestFlight for iOS 10/11/12 urgent
You’re now watching this thread. If you’ve opted in to email or web notifications, you’ll be notified when there’s activity. Click again to stop watching or visit your profile to manage watched threads and notifications.
You’ve stopped watching this thread and will no longer receive emails or web notifications when there’s activity. Click again to start watching.
The current version of Testflight only works from iOS 13, but I urgently need Testflight back on iOS 11 for a few test apps. How can I get this app version? Is there an ipa with an old TestFlight build?
Please help me @apple and Friends
И еще немного про сервис тестирования 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 приложения. Тут, к сожалению, от этого никуда уйти не удалось.
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, их смело можно задавать в комментариях, постараюсь (постараемся) на них ответить.
- тестирование
- ios development
- testflight
Выходим из тюрьмы Apple. Установка произвольных приложений на iOS без джейлбрейка

App Store — не единственный способ установки приложений для iOS. Раньше люди специально делали джейлбрейк, чтобы установить каталог Cydia. Но в последнее время появилось несколько сторонних каталогов, которые работают вообще без джейлбрейка. Удивительно, но Apple пока не ставит им палки в колёса.
Эти каталоги приносят реальную пользу, ведь здесь независимые разработчики свободно распространяют свои программы без комиссий и цензуры. Apple не может произвольно отзывать со смартфонов такие приложения. А люди получают более широкий выбор программ, включая эмуляторы Linux, независимость от производителя и реальное право владения.
Мини-приложения на HTML5
Кроме альтернативных каталогов, «бегство из тюрьмы» Apple идёт и другим путём — через платформы внутри других приложений. Например, такие платформы создаются на базе популярных мессенджеров, которые хотят запустить свои внутренние каталоги мини-приложений и свои платёжные системы.
Типичный пример — каталог китайского технологического гиганта Tencent внутри мессенджера WeChat. Это отдельная платформа с мини-приложениями на HTML5 размером меньше 10 мегабайт. То есть неважно, у вас Android, iOS или другая операционная система. Всё равно мини-программы WeChat можно скачать и запустить стандартным способом в едином интерфейсе. По сути, это полноценная платформа, открытая для независимых разработчиков — в каком-то смысле конкурент Google Play и App Store.
Мини-приложения WeChat
Tencent договорилась с Apple, что будет принимать в свой каталог только мини-приложения, соответствующие правилам App Store. Это один из вариантов, как разработчики получают доступ к пользователям iOS в обход Apple.
Сама Apple тоже видит потенциал мини-приложений. В последней версии iOS 14 она представила App Clips — фрагменты приложений, которые запускаются на телефоне без установки полной версии программы.
Альтернативные каталоги
Каталог AltStore запустился в 2019 году. В нём можно найти программы, которые Apple не допускает в App Store по разным причинам.
Как вообще работает AltStore? Дело в том, что Apple разрешает разработчикам для тестирования устанавливать на iOS свои приложения через Xcode для тестирования, а AltStore просто автоматизирует этот процесс и обновляет семидневные таймеры Apple на работу приложений, установленных в обход App Store. То есть каждое приложение пользователь устанавливает как программу якобы личной разработки.
Чтобы загрузить программы из каталога, нужно сначала установить AltServer под macOS 10.14.4+ или Windows 10+. На компьютере должен стоять iTunes, где надо включить синхронизацию со смартфоном по WiFi.

Cинхронизация по WiFi
Затем подключить устройство — и установить туда клиент AltStore через десктопный сервер.


Для работы придётся ввести Apple ID и пароль. Можно зарегистрировать отдельный Apple ID для этих целей.
Чтобы AltStore заработал, требуется установить доверие к новому Apple ID в настройках iOS. После этого можно залогиниться в приложение на смартфоне под тем же Apple ID, что и на десктопе — клиент и сервер работают в связке, словно вы тестируете на смартфоне приложения своей разработки, как программист. То есть установить приложения на смартфон можно только при подключении смартфона к десктопу. Кроме того, у каждого приложения установлен счётчик на 7 дней, а AltStore постоянно обновляет его (тоже требуется соединение с сервером). По этой причине желательно запускать сервер при каждой загрузке ОС на десктопе.
Внутри мобильного AltStore доступен список приложений для установки. Другой вариант — отправлять их с десктопа.

Кстати, можно зайти на unc0ver.dev, скачать и спокойно установить приложение Unc0ver для джейлбрейка, если есть такое желание. Это самый простой способ поставить каталог Cydia с десятками программ, которых нет в App Store.

Каталог Cydia
Но это не особо требуется, потому что без всякого джейлбрейка через AltStore на iOS ставится любое приложение в формате *.ipa. Несколько полезных приложений собрано в каталоге AppMarket. Просто скачиваем zip-архив, извлекаем .ipa — и устанавливаем через AltStore.
Одно из интересных приложений iOS — UTM для запуска виртуальных машин. По понятным причинам это и подобные приложения запрещены в App Store. Но это очень крутой инструмент, который эмулирует любой процессор и запускает любую операционную систему. Без проблем на планшете запускается Debian Linux или Windows 7.
Процессор в последних iPad Pro мощнее, чем во многих современных ноутбуках, так что эта идея не лишена смысла.
UTM ставится через AltStore без джейлбрейка, как и сотни других свободных программ, не проходящих цензуру «яблочной компании».
Ещё одно полезное приложение в AltStore (и запрещённое в App Store) — это DolphiniOS, популярный кросс-платформенный эмулятор для запуска любых игр GameCube или Wii с продвинутыми опциями типа повышения разрешения до 1080p и больше (для игры на Apple TV). Как известно, в App Store запрещены любые эмуляторы и консольные приложения (и многое другое).
Также запрещён iSH — полноценный шелл, через который запускаются реальные приложения Linux в нативной консоли.

Консоль iSH — одна из многочисленных программ, запрещённых в App Store
Автор AltStore — американский программист Райли Тестут (Riley Testut). Вообще, это приложение появилось в каком-то смысле случайно. Сначала Райли разработал эмулятор Delta для запуска на iOS классических видеоигр Game Boy Advance, Nintendo 64 и Nintendo DS.

Эмулятор Delta

Цензура App Store не пропустила его приложение в официальный каталог — и тогда Райли нашёл способ обойти этот запрет через AltStore. К удивлению многих, Apple не предприняла никаких действий против этого хака.
Airport — ещё один альтернативный каталог, куда принимают независимые программы (форма заявки). Он работает через сервис Apple TestFlight, который предназначен для бета-тестирования программ на широкой аудитории до их официальной публикации.

Каталог Airport
По условиям Apple TestFlight, количество бета-тестеров приложения не может превышать 10 000 человек. Вряд ли Airport представляет конкуренцию App Store в нынешнем виде, но это всё равно важный эксперимент. Он даёт разработчикам ещё один способ выйти на аудиторию iOS в обход корпорации Apple, которая контролирует все подступы, считая пользователей как бы своей «собственностью». В июне 2021 года компания опубликовала программный документ «Building a Trusted Ecosystem for Millions of Apps», в котором объясняет запрет на свободную установку программ из сторонних источников (sideloading) заботой о пользователях. Сомнительно, что такое объяснение убедит европейскую антимонопольную комиссию ЕС.
Год назад Apple забанила Fortnite за нарушение правил каталога. В ответ Epic Games подала в суд, обвинив Apple в злоупотреблении монопольным положением (речь о завышенной комиссии 30%). Этот пример показывает, что некоторые разработчики недовольны текущими условиями App Store. Но Apple может ответить: не нравится — не пользуйтесь. Распространяйте свои приложения через альтернативные каталоги, ведь такие действительно существуют.
Если суд примет эти аргументы Apple, то компанию могут заставить поддерживать альтернативные каталоги на своей платформе, как в своё время Microsoft запретили навязывать пользователям свой браузер Internet Explorer, во избежание злоупотребления монопольным положением. Так что судьба альтернативных каталогов во многом зависит от исхода судебного процесса Epic Games v. Apple.
Интересно, что та же Cydia позволяла устанавливать приложения на iPhone ещё до появления App Store в 2008 году. Сейчас она присоединилась к иску против Apple, обвиняя её в злоупотреблении монопольным положением в части запрета свободной установки программ на смартфоны пользователей. Разбирательства по этому вопросу идут также в Европе.
Альтернативные каталоги — это реальный способ распространять свои приложения в экосистеме Apple в обход App Store. Файлы приложений iOS уже сейчас можно спокойно выкладывать на любом хостинге, любом сайте. Возможно, антимонопольные разбирательства против Apple в Европе и США окончательно узаконят такую практику.
- Блог компании ITSumma
- Мессенджеры
- Разработка под iOS
- Законодательство в IT
- Смартфоны