Когда мы разрабатываем приложение для iOS, у нас есть как минимум одна схема. Многие начинающие или даже middle разработчики не знают, что мы можем добавить некоторые специальные команды для создания пользовательской среды для тестирования приложения.
В этой статье рассказывают о том, как использовать различные iOS или Maс схемы в XCode, чтобы быстрее тестировать приложения.
Перевод Как использовать преимущество нескольких схем в XCode
1. Что такое схема Xcode
Согласно Apple:
«Схема Xcode определяет набор целей для сборки, конфигурацию для использования при сборке и набор тестов для выполнения».
На картинке выше вы видите схему. Для вашего приложения имя схемы по умолчанию будет другим. Если вы щелкнете по названию схемы, откроется меню для редактирования или создания новой схемы.
2. Как воспользоваться преимуществами этой схемы
Для этой игры с поиском слов у меня есть четыре схемы. Название схем говорит о том, что я хочу протестировать. Вы также можете отредактировать любые схемы и создать новую схему, щелкнув «Новая схема…» в этом меню.
3. Как создать новую схему
Сначала щелкните команду «Новая схема…» в меню. Вы должны выбрать имя своего проекта Xcode во всплывающем окне, и вы можете установить имя. Нажатие «ОК» создаст новую схему.
4. Как управлять схемами
Если вы щелкните команду «Управление схемами…» в меню схемы, вы увидите всплывающее окно, подобное экрану ниже. Здесь вы можете создать, отредактировать или удалить любую схему.
5. Как настроить схемы
Если вы выберете схему и нажмете Edit, вы увидите окно, подобное приведенному ниже экрану. Вот мой случай; в этой схеме я хочу передать две переменные среды.
- hint_button_end_game = true
- ads_disabled = true
Вы можете передавать аргументы только в разделах «Выполнить», «Тест» и «Профиль». Я хочу протестировать свое приложение по этой схеме, и эти две переменные должны быть верны.
Теперь в реальном коде у меня есть функция для захвата этих переменных среды. Я разработал большинство своих приложений на языке Obj-C, а часть — на языке программирования Swift. Итак, вот код Obj-C для захвата переменной среды.
Похожий код, который мы можем написать на языке программирования Swift, выглядит следующим образом:
Таким образом, в коде, используя словарь ProcessInfo.processInfo.environment, мы можем проверить, проходит ли какая-либо пользовательская переменная среды или нет, и на основе этого выстроить поведение приложения во время теста.
У меня также есть сценарий оболочки, и я использую инструмент Fastlane; Я развертываю свое приложение, чтобы не было шансов развернуть неправильную схему. Если вы хотите изучить Fastlane для автоматизации развертывания, ознакомьтесь с моей следующей статьей.
Вывод
Когда я был разработчиком среднего уровня, я не знал этой техники. Я изучил эту технику в компании, где мой коллега-программист использовал этот метод для создания различных схем для более быстрого тестирования приложения. Если вы никогда не использовали схемы, попробуйте.