Как тестировать приложение на iphone
Потребность в надежных инструментах в области iOS тестирования напрямую связана со следующими моментами:
- большое количество приложений, наводняющих магазины;
- количество устройств под управлением iOS на рынке;
- растущая сложность приложений.
Приложений и устройств настолько много, что ручное тестирование невозможно. К счастью, на рынке существуют эффективные и многофункциональные фреймворки для iOS тестирования, которые делают процесс быстрее, проще, а иногда даже не требуют человеческих ресурсов.
В этом обзоре мы рассмотрим 8 фреймворков для тестирования iOS приложений.
Действительно ли нужны фреймворки для iOS тестирования?
В 2016 году компания Apple продала свой миллиардный мобильный телефон. К январю 2019 года 900 миллионов человек активно использовали iPhone в повседневной жизни. Два года спустя это число выросло до 1,65 миллиарда. Это огромная цифра! И она продолжает расти из года в год.
Тестирование приложения для iOS вручную требует много времени, так как тестирование нужно будет проводить отдельно на каждом из устройств.
Эти проблемы решают фреймворки для iOS тестирования. Они разработаны, чтобы облегчить процесс.
Что такое фреймворк для iOS тестирования?
Такие инструменты предоставляют дополнительные возможности, например, удобная работа с API Apple, анализ целей тестирования, совместная работа с другими тестировщиками, создание скриншотов, организация файлов проекта и создание подробных отчетов. Все это отнимает много времени при ручном тестировании. Об особенностях и преимуществах различных фреймворков для iOS тестирования вы узнаете из следующих разделов.
Важность использования фреймворков для тестирования iOS
Давайте предположим, что нужно протестировать iOS-приложение вручную. Что может пойти не так?
Теперь, когда мы убедились в необходимости использования фреймворков для iOS тестирования, давайте рассмотрим варианты, которые есть на рынке.
Лучшие фреймворки для iOS тестирования
В этом разделе подробно описаны лучшие фреймворки для iOS тестирования, которые популярны среди тестировщиков в настоящее время:
Appium
Плюсы Appium
Минусы Appium
- нужно следить, чтобы все open-source пакеты, установленные в Appium, должны иметь совместимые версии;
- высокий порог входа;
- медленное выполнение тестов на iOS;
Пример кода на Appium
Однако Appium не подойдет начинающим тестировщикам и тем, кто не хочет долго разбираться в его настройках. Медленно работает на устройствах с большим разрешением экрана.
TestProject
Плюсы TestProject
Минусы TestProject
- документация иногда выпускается с опозданием. Иногда придется самостоятельно изучать инструмент или обращаться в поддержку;
- для разработки собственных расширений нужны навыки программирования.
EarlGrey
Плюсы EarlGrey
- может автоматически синхронизироваться с сетью и компонентами пользовательского интерфейса;
- тесты можно запускать непосредственно из XCode или через командную строку;
- открытый исходный код.
Минусы EarlGrey
- для работы с некоторыми API может потребоваться писать код;
- Google собирает данные о выполнении тестов и другую аналитику. Это можно отключить, но не все об этом знают;
Пример кода
XCTest/XCUITest
Плюсы XCTest
Минусы XCTest
- ограниченная поддержка языков программирования;
- высокий порог вхождения;
- не кроссплатформенный;
- для тестирования в XCTest понадобится опыт программирования;
- не поддерживается Deep Linking (глубинное связывание).
Пример кода
Detox
Detox обладает двумя очень сильными преимуществами. Во-первых, с его помощью можно тестировать приложения, запущенные на симуляторе; он симулирует поведение реального пользователя. Во-вторых, Detox основан на Javascript, поэтому тестировщик может запускать все, что его поддерживает.
Плюсы Detox
- кросс-платформенность;
- симуляция поведения реального пользователя;
- хорошо интегрируется с CI/CD;
- очень простые и удобные API, написанные на Javascript;
- открытый исходный код с большим количеством дополнений.
Минусы Detox
- тестирование на реальных устройствах iOS все еще не поддерживается.
Пример кода
Detox предлагает метод серого ящика и end-to-end тестирование на Javascript, который является одним из самых популярных языков в мире. Это большой плюс. Единственная проблема в том, что он не поддерживает тестирование на реальных устройствах iOS, а использует симулятор.
Использование симулятора все же не может проверить качество приложения на том же уровне, что работа с реальным устройством. Этот фактор может стать решающим для многих тестировщиков.
Calabash
Calabash пользуется большой популярностью среди разработчиков благодаря стабильности и подходу к построению тестов. Calabash использует Cucumber, благодаря чему его могут использовать даже люди, незнакомые с программированием. Поддерживает много языков программирования, может работать как c iOS, так и c Android приложениями.
Плюсы Calabash
Минусы Calabash
- для использования Calabash за пределами BDD-функционала нужно знать программирование;
- для запуска приложения требуется время;
- небольшое комьюнити.
Пример кода
Calabash завоевал большую популярность благодаря поддержке Behavior Driven Develpment. BDD-подход позволяет писать тесты без знания языков программирования и создания сложной логики. Но тестировщики с опытом программирования часто критикуют его по той же причине. Также Calabash не имеет большого комьюнити, как, например, Appium.
OCMock
Плюсы OCMock
- легко освоить;
- качественная документация;
- для разработки на OCMock используется Objective-C, что облегчает работу тем, кто знаком с iOS-разработкой;
- открытый исходный код;
- активно разрабатывается и улучшается.
Минусы OCMock
- подходит только для создания mock-объектов;
- подходит как дополнительный инструмент для iOS тестирования.
Пример кода
Если вы уже знакомы с фреймворком для iOS тестирования и хотите усовершенствовать его, добавив OCMock, то это действительно отличный выбор: он очень помогает в создании mock-объектов. Но если вы ожидаете от OCMock комплексного решения для тестирования, то будете разочарованы.
Плюсы KIF
- поддержка Objective-C упрощает работу разработчикам;
- имитирует действия пользователя;
- KIF не требует дополнительной настройки конфигурации;
- легко интегрируется с инструментами XCode;
- тесты KIF работают быстро.
Минусы KIF
- поддерживает только Objective C;
- небольшое комьюнити и слабая поддержка;
- KIF не поддерживает популярные фреймворки, такие как Cucumber.
Пример кода
Сравнительная таблица фреймворков для iOS тестирования
Чтобы обобщить все, что было в статье, мы собрали перечисленные фреймворки в сравнительной таблице:
Заключение
В этом материале мы попытались рассмотреть различия, делая акцент на удобстве для тестировщиков. Например, фреймворк, который поддерживает пять языков, будет удобнее для большего количества тестировщиков, чем фреймворк, поддерживающий два языка. Надеемся, эти различия помогут вам выбрать лучший инструмент в соответствии с вашими предпочтениями и требованиями.
Надеемся, что эта статья внесет ясность в особенности перечисленных фреймворков.
Подготовка приложения для тестирования на физическом устройстве или для распространения в App Store может стать кошмаром для начинающих. Однако каждый разработчик iOS должен преодолеть это препятствие. В этой статье я познакомлю вас с тем, как подготовить приложение для тестирования на физическом устройстве.
Этот учебник охватывает два сценария:
- развертывание приложения с бесплатным Apple ID
- развертывание приложения в качестве участника программы Apple для разработчиков
Вступление
В 2015 году Apple обновила свое предложение для разработчиков. В частности, стоит отметить два изменения.
В прошлом у Apple были отдельные программы для разработки под OS X, iOS и Safari. Это больше не так. С выпуском watchOS и tvOS Apple объединила свои существующие программы для разработчиков в одну программу — Apple Developer Program .
Это означает, что вам больше не нужно регистрироваться в нескольких программах, если вы хотите разрабатывать для OS X и iOS. Если вы зарегистрируетесь в Apple Developer Program, вы сможете разрабатывать для OS X, iOS, watchOS, tvOS и Safari.
Еще одно существенное изменение связано с бесплатным предложением Apple для разработчиков. В прошлом можно было создать бесплатный аккаунт разработчика. Однако с такой учетной записью вы не смогли развернуть приложения iOS на физическом устройстве.
Это ограничение было снято. Любой человек с Apple ID может начать разработку для платформ Apple и может развертывать приложения на физических устройствах. Это очень хорошая новость для всех, кто заинтересован в разработке для одной из платформ Apple.
Если вы планируете опубликовать приложение в одном из магазинов приложений Apple, вам необходимо зарегистрироваться в программе Apple для разработчиков. Это то, что мы обсуждали в предыдущей статье этой серии.
1. Apple ID
Развертывание приложения на физическом устройстве с Apple ID является простым. Но имейте в виду, что типы приложений, которые вы можете развернуть с помощью бесплатного Apple ID, в некоторой степени ограничены. Я рекомендую вам взглянуть на обзор Apple, если вы хотите узнать больше о том, что возможно, а что нет.
Давайте посмотрим, какие шаги предпринимаются для запуска приложения iOS на iPhone или iPad с бесплатным Apple ID. Если у вас нет Apple ID, то я предлагаю вам создать его на веб-сайте Apple, прежде чем продолжить этот урок. Это займет всего несколько минут, чтобы создать его.
Шаг 1: Зарегистрируйтесь как разработчик
Шаг 2: Создать проект
Запустите Xcode и создайте проект, как мы делали в предыдущем уроке. Я выбрал шаблон приложения Single View и настроил проект, как показано ниже. Скажите Xcode, где вы хотите сохранить файлы проекта, и нажмите « Создать» .
Шаг 3: Добавить учетную запись
Выберите Xcode в строке меню и выберите Настройки …, чтобы открыть Xcode окно настроек.
Если вы откроете вкладку « Учетные записи », вы увидите, что еще нет учетных записей.
Введите свой Apple ID и пароль в диалоговом окне и нажмите « Добавить» . Если это не работает для вас, убедитесь, что вы сначала зарегистрировались в качестве разработчика Apple, как я показал вам ранее. Если добавление вашего Apple ID прошло успешно, то теперь оно должно появиться в списке учетных записей слева.
Шаг 4: Команда обновления
Закройте окно настроек и вернитесь на вкладку Общие цели проекта. В разделе Identity установите Team для учетной записи, которую вы добавили минуту назад. Даже если вы указали команду, Xcode все равно показывает предупреждение.
Шаг 5: Доверьтесь разработчику
Если вы попытаетесь запустить приложение на своем устройстве, то вы все равно столкнетесь с проблемой. Вы также видите следующий диалог?
К счастью, операционная система также дает нам подсказку. Откройте приложение « Настройки» и выберите « Основные»> «Профили» . Выберите профиль с вашим Apple ID и нажмите « Доверие» <Apple ID> . Выберите « Доверие» в появившемся диалоговом окне, чтобы завершить процесс. Теперь вы сможете запустить приложение на своем устройстве.
Помните, что вам нужно снова доверять разработчику, если вы удаляете все приложения от этого конкретного разработчика.
2. Apple Developer Program
Если вы решили зарегистрироваться в Программе разработчика Apple, то шаги, которые необходимо предпринять для подготовки приложения, отличаются. Положительным моментом является то, что ограничения, налагаемые на бесплатный аккаунт разработчика, отсутствуют для участников программы Apple Developer Program. Первое, что вам нужно сделать, это создать сертификат разработки.
Шаг 1: Создайте запрос на подпись сертификата
Сертификат — это электронный документ, который связывает вашу цифровую идентификацию с другой информацией, такой как ваше имя, адрес электронной почты и информация об организации. Сертификат разработки состоит из секретного закрытого ключа и общего открытого ключа. Если вы знакомы с SSL-сертификатами для защиты веб-сайтов, то вы, вероятно, уже знаете, что такое сертификат и как он работает.
Xcode использует закрытый ключ сертификата для криптографической подписи двоичного файла вашего приложения. Чтобы получить сертификат разработки, сначала необходимо создать запрос на подпись сертификата или CSR .
Нажмите « Продолжить» , укажите местоположение для сохранения CSR и нажмите « Сохранить» . Перейдите к указанному местоположению, чтобы убедиться, что CSR был создан. В разделе « Связка ключей» в категории « Ключи » вы можете видеть, что закрытый и открытый ключи были добавлены в вашу цепочку ключей входа.
Шаг 2. Создайте сертификат разработки
Откройте браузер и перейдите на сайт разработчика Apple. Нажмите « Центр участников» вверху, войдите в свою учетную запись разработчика и выберите « Сертификаты, идентификаторы и профили» .
На следующей странице выберите Сертификаты в разделе iOS-приложений .
На следующей странице описаны шаги по созданию CSR. Поскольку у нас уже есть CSR, вы можете нажать Continue внизу.
Загрузите CSR и нажмите « Создать» внизу.
Если Keychain Access предложит вам добавить сертификат в связку ключей входа в систему , то вы можете смело нажимать кнопку Добавить .
В Keychain Access выберите Мои сертификаты слева и найдите сертификат, который вы добавили, чтобы убедиться, что вы правильно его установили.
Шаг 3: Добавить устройство
Вы не можете запустить приложение iOS на случайном устройстве. Вам необходимо указать, какие устройства могут запускать ваше приложение iOS, пометив одно или несколько устройств iOS для разработки на портале для разработчиков.
Перейдите в раздел « Сертификаты, идентификаторы и профили » портала разработчика, выберите вкладку « Устройства » в разделе « Приложения iOS » и нажмите кнопку «плюс» в правом верхнем углу. Чтобы зарегистрировать устройство, введите имя для устройства и его UDID. UDID — это идентификатор, который однозначно идентифицирует устройство iOS. Обратите внимание, что UDID не совпадает с серийным номером устройства.
Вы можете найти UDID устройства, подключив устройство к вашей машине, запустив Xcode и выбрав Devices в меню Window . Буквенно-цифровая строка из сорока символов рядом с идентификатором является UDID устройства.
Шаг 4. Создание идентификатора приложения
Идентификатор приложения — это идентификатор, который однозначно идентифицирует приложение на iOS. Это очень похоже на UDID устройства, который однозначно идентифицирует устройство. Идентификатор приложения используется операционной системой в целях безопасности и является важным компонентом push-уведомлений Apple и сервисов iCloud, среди прочего.
Идентификатор приложения состоит из идентификатора пакета вашего приложения с префиксом уникального начального идентификатора набора из десяти символов, сгенерированного Apple. Что такое идентификатор пакета? Вспомните первый проект, который вы создали в предыдущем уроке. Несмотря на то, что я подробно не описывал идентификатор пакета, вы неявно указали идентификатор пакета для своего проекта, дав своему приложению имя и указав идентификатор организации.
Чтобы создать новый идентификатор приложения на портале разработчика, перейдите в раздел « Сертификаты, идентификаторы и профили », нажмите « Приложения iOS» и выберите идентификаторы приложений в меню слева. Чтобы создать новый идентификатор приложения, нажмите кнопку «плюс» в правом верхнем углу.
Начните с присвоения своему идентификатору приложения описательного имени, чтобы вы могли найти его позже. Оставьте поле префикса идентификатора приложения нетронутым. В разделе Суффикс идентификатора приложения введите идентификатор пакета вашего приложения. Убедитесь, что вы ввели его в раздел « Явный идентификатор приложения» .
Вы также можете выбрать идентификатор приложения с подстановочными знаками и заменить имя приложения в идентификаторе пакета на звездочку, например com.tutsplus. * . Это полезно, если вы намереваетесь создать набор приложений, которым нужен общий доступ к цепочке для ключей или вообще не требуется доступ к цепочке для ключей. Звездочка или подстановочный знак должны быть последним компонентом идентификатора пакета.
Шаг 5. Создание профиля обеспечения
При наличии сертификата разработки и идентификатора приложения пришло время создать профиль обеспечения для вашего приложения. Прежде чем мы начнем, было бы полезно объяснить, что такое профиль обеспечения, потому что это то, что сбивает с толку многих новых разработчиков iOS.
В документации Apple профиль обеспечения определяется как «набор ресурсов, которые уникальным образом связывают разработчиков и устройства с авторизованной командой разработчиков iOS и позволяют использовать устройство для тестирования». Другими словами, профиль обеспечения содержит информацию, необходимую операционной системе для проверки, разрешено ли запуск приложения на определенном устройстве. Это означает, что профиль обеспечения должен быть установлен на каждом устройстве, на котором должно выполняться приложение.
На следующем шаге выберите идентификатор приложения, который вы создали несколько минут назад, и нажмите « Продолжить» .
Выберите сертификат разработки из списка сертификатов, чтобы связать новый профиль обеспечения с правильным сертификатом. Нажмите Продолжить .
Теперь вам нужно выбрать устройства, которые вы хотите связать с профилем обеспечения. Помните, что только эти устройства смогут запускать ваше приложение во время разработки.
Дайте профилю обеспечения описательное имя, чтобы вы могли легко найти его позже. Нажмите « Создать» и загрузите профиль обеспечения на свой компьютер для разработки. Дважды щелкните профиль обеспечения, чтобы добавить его в XCode.
Если вы хотите добавить больше устройств в уже существующий профиль обеспечения, вы можете сделать это, отредактировав профиль обеспечения. Все, что вам нужно сделать, это загрузить новый профиль обеспечения и установить его на каждое устройство, с которым вы хотите провести тестирование. Другими словами, вам не нужно создавать новый профиль обеспечения, если все, что вы хотите сделать, это добавить или удалить устройства.
Шаг 6: Настройте проект
Прежде чем вы сможете собрать и запустить приложение на своем устройстве, вам необходимо обновить настройки сборки цели в вашем проекте XCode.
Откройте проект Xcode, который вы создали в предыдущем уроке, и выберите проект в Навигаторе проектов слева. Выберите « Мое первое приложение» в разделе « Цели » и откройте « Настройки сборки» вверху.
Не удивляйтесь многочисленным настройкам сборки. Прокрутите список и найдите раздел « Подписание кода ». В этом разделе найдите подраздел « Идентификация подписи кода» и задайте конфигурацию отладки, соответствующую iOS Developer . Обычно он находится под заголовком « Автоматически» .
Шаг 7: Сборка и запуск
Если вы выполнили вышеуказанные шаги, то теперь вы сможете создавать и запускать приложение на своем устройстве. Перед запуском приложения убедитесь, что вы правильно установили активную схему и пункт назначения, как показано ниже.
3. Добавить учетную запись разработчика
Что касается предоставления приложений, XCode может сделать некоторые тяжелые работы для вас. Чтобы это работало, вам нужно добавить свою учетную запись разработчика в Xcode. Вы можете добавить свою учетную запись разработчика, выбрав Preferences … в меню Xcode и открыв вкладку Accounts .
Добавив вашу учетную запись разработчика в XCode, она может общаться с порталом для разработчиков от вашего имени. Это делает некоторые задачи намного проще.
Вывод
Создание сертификатов, профилей обеспечения, идентификаторов приложений и тестовых устройств и управление ими может быть непростой задачей, и часто для большинства разработчиков. Я надеюсь, что эта статья дала вам прочную основу.
Не стесняйтесь прочитать эту статью несколько раз, чтобы по-настоящему понять, как различные части сочетаются друг с другом. Это значительно упростит проблемы отладки, связанные с инициализацией, и я могу гарантировать, что вы столкнетесь с такими проблемами в какой-то момент своей карьеры iOS.
Если у вас есть какие-либо вопросы или комментарии, вы можете оставить их в комментариях ниже или обратиться ко мне в Twitter .
При разработке мобильных iOS приложений в среде XCode запуск и тестирование происходит на симуляторе. Однако каждый профессиональный разработчик вам скажет, что окончательную отладку нужно производить на реальных устройствах. Причем лучше на нескольких различных устройствах. На iPhone 5, на iPhone 6, на различных версиях iPad и iPod. Однако для этого политика компании Apple заставляет приобрести аккаунт разработчика. Он стоит $99 и для начальных шагов в программировании не всегда оправданы эти затраты. И вот наконец, просьбы разработчиков были услышаны и появился способ легального запуска своих приложений на реальных устройствах и этот способ абсолютно бесплатный.
Были различные варианты решения этой проблемы от установки на устройство Jailbreak до недорогого варианта добавления UDID устройства к реально существующему аккаунту разработчика. (Последний способ стоит 300 руб). Но как написано выше с выходом XCode 7 эта проблема была решена.
Так что же нужно для запуска своих приложений на реальном устройстве?
Все что вам нужно, это Apple ID! Больше ничего не нужно.
Подключение устройства
Подключите iPhone, Ipod Touch, или IPad к вашему Mac с помощью кабеля USB кабеля. В меню Xcode зайдите Window → Devices, чтобы открыть список устройств. Окно выглядит следующим образом (я использую iPad Air):
Так должно выглядеть окно с сопряженным устройством:
Настройка AppleID
Теперь, когда устройство сопряжено с компьютером, нужно связать ваш AppleID с Xcode. Можно использовать тот же идентификатор AppleID, что вы уже используете с Itunes и вашим устройством, однако, если вы разрабатываете корпоративное iOS приложение, то можете создать новый AppleID, чтобы разделить процессы разработки. Конечно, если у вас уже есть оплаченный аккаунт разработчика вы должны использовать именно его
Откройте меню Xcode -> Preferences -> Accounts:
Настройка проекта XCode
Вы все еще должны указать Xcode использовать эту учетную запись при создании вашего приложения. Перейдите к экрану настроек проекта и на вкладке General нажмите на Team, чтобы выбрать ваш Apple ID.
Специфика данных документов на первоначальных этапах разработки не имеет значения. Просто примите, что вам нужен Provisioning Profile или приложение не будет работать на вашем устройстве. Создание сертификатов и Provisioning Profile, в XCode 7 это очень простая задача!
Также возможно вы получите эту ошибку:
Xcode должен знать об устройстве на котором вы собираетесь запустить приложение. Вот почему мы начали именно с подключения устройства. Еще раз проверьте, что ваш iPhone или iPad по-прежнему подключен к Mac, и что ваше устройство есть списке Devices. У меня это окно выглядит так:
В основном окне XCode еще раз выберете ваше устройство и нажмите кнопку Fix Issue и предупреждение должно исчезнуть.
Настройка связки ключей
Возможные проблемы и их решение
Есть несколько ошибок, которые могут возникнуть при попытке запуска своего iOS приложения на реальном устройстве, особенно если вы никогда не делали этого раньше. Так что не паникуйте, если вы столкнетесь с проблемами.
Устройство не подключено.
Как ни странно это самая распространенная ошибка, поэтому я напишу о ней в третий раз в этой статье. Убедитесь, что ваш iPhone, iPod Touch, или iPad подключены к Mac. Устройство должны быть списке устройств Xcode, и на нем не должно быть желтого значка предупреждения, о том что устройство не доверяет компьтеру.
Подозрительный не одобренный Apple разработчик.
Устройство заблокировано.
Если на устройстве установлен пароль, то вы можете получить это предупреждение:
Приложение не будет работать если устройство заблокировано. Для решения нужно разблокировать устройство и запустить компиляцию еще раз.
Надеюсь данная информация будет вам полезна. По себе знаю, что начиная разрабатывать iOS приложения, разработчики сталкиваются с проблемой тестирования своих приложений на реальных устройствах. А несправедливость в виде $99 никак не греет душу брата программиста. И даже если разработчик решается на Jaibreak, все равно для запуска потребуется куча сторонних бубнов. Вариант описанный в данной статье позволит вам запускать и тестировать свои приложения без этих бубнов и совершенно бесплатно.
Я разработал приложение для ios 12 в xcode 10.1 , такой вопрос: как мне отдать человеку приложения для тестирования не имея аккаунт разработчика, возможно ли это? Пробовал пользоваться testFlight по инструкции в интернете. Нужно зайти на сайт и выбрать раздел приложение, но при переходе пишет страница не найдена, прошу сильно не пинать я только начинаю разбираться в ios разработке, за любые советы заранее благодарен!
16.6k 10 10 золотых знаков 20 20 серебряных знаков 40 40 бронзовых знаков нужно иметь акк разработчика, вы выгружаете в эпл свое приложение и там уже распространяете его через testflight, иначе возможности мне кажется нет. Это не андроид где можно инсталлер скинуть и все (насколько я знаю)Правильный вариант - приобрести аккаунт разработчика клиенту и пригласить Вас в команду или дать доступ к этому аккаунту, где уже и настроить всё для тестирования (пригласить тестировщиков / внутреннее тестирование / внешнее тестирование)
Менее правильный - сделать то же самое под своим аккаунтом разработчика. Но потом то же самое нужно будет проделывать для клиента, так как для публикации все-равно ему нужно будет приобрести аккаунт.
15.7k 1 1 золотой знак 16 16 серебряных знаков 34 34 бронзовых знака В вопросе речь просто про некого человека-тестера, не факт, что это заказчик1 вариант: подключить устройство тестировщика к вашему Mac и установить через кабель из xCode - если вы физически можете встретиться.
Создать Ad Hoc Distribution Profile.
Приложение будет работать до конца срока жизни профиля (1 год с момента его создания, но не более срока годности сертификата, которым данный профиль был подписан).
3 вариант: Использовать Test Flight (это проще и быстрее, чем вариант 2, особенно, если в процессе разработки и тестирования вы часто будете делать новые сборки приложения, но приложение будет "жить" только 90 дней).
Описывать это тут подробно - долго и нет смысла (в сети полно шпаргалок об этом, в том числе официальная документация от Apple), если нужна помощь, могу один раз показать, как это сделать.
4 вариант: Если есть Enterprise-аккаунт разработчика Apple (за 299$ который), создать Enterprise (InHouse) Distribution Profile (аналогочно варианту 2, но без UDID), создать ipa-файл приложения - его можно будет установить на любое устройство (которое соответствует настройкам, указанным вами в xCode для проекта - тип устройства, версия iOS).
Читайте также: