Appearance
Начало работы
Если у вас есть опыт создания приложений для платформ Apple, таких как iOS, добавление кода в Tuist не показаться сильно иным. Есть два отличия, по сравнению с разработкой приложений, которые стоит упомянуть:
Взаимодействие с командным интерфейсом происходит через терминал. Пользователь запускает Tuist, который выполняет желаемую задачу и затем завершается успешно или со статус-кодом. В процессе выполнения пользователь может получать уведомления с помощью отправки выходной информацию в стандартный поток вывода или в стандартный поток ошибок. Нет графического интерфейса или жестов, только намерения пользователя.
Нет цикла, который держит процесс в ожидании ввода пользователя, как это происходит в приложениях iOS, когда приложение получает системные события или действия пользователя. Командный интерфейс запускаются в собственном процессе и закрывается после завершения работы. Асинхронное выполнение может быть осуществлено с использованием системного API, такаго как DispatchQueue или structured concurrency, но необходимо убедиться, что процесс запущен пока выполняется асинхронная работа. В противном случае процесс прекратит асинхронную работу.
Если у вас нет опыта работы с Swift, мы рекомендуем официальную документацию Apple для ознакомления с языком и наиболее часто используемыми сущностями библиотеки Foundation
.
Минимальные требования
Минимальные требования для внесения вклада в Tuist:
- macOS 14.0+
- Xcode 16.0+
Настройте проект локально
Чтобы начать работу над проектом, можно выполнить следующие действия:
- Склонируйте репозиторий выполнив:
git clone [email protected]:tuist/tuist.git
- Установите Mise, чтобы подготовить среду разработки
- Выполните
mise install
для установки системных зависимостей, необходимых Tuist - Выполните
tuist install
для установки внешних зависимостей, необходимых Tuist - (Необязательно) Выполните
tuist auth
, чтобы получить доступ к Tuist Cache - Выполните
tuist generate
, чтобы сгенерировать Xcode-проект Tuist с помощью самого Tuist
После генерации проект откроется автоматически. Если вам нужно открыть проект снова, без генерации - выполните open Tuist.xcworkspace
(или используйте Finder).
XED .
Если вы попробуете открыть проект используя xed .
- он откроет пакет, а не проект созданный Tuist. Мы рекомендуем использовать проект сгенерированный самим Tuist чтобы "прочувствовать плоды собственного труда".
Редактирование проекта
Если вам необходимо изменить проект, например, для добавления зависимостей или корректировки target, вы можете использовать команду tuist edit
. Команда редко используется, но лучше помнить о том, что она существует.
Запуск Tuist
Из Xcode
Чтобы запустить tuist
из сгенерированного проекта Xcode - отредактируйте схему tuist
и установите аргументы, которые вы хотели бы передать в команду. Например, чтобы выполнить команду tuist generate
, вы можете задать аргументы generate --no-open
, чтобы проект не открылся автоматически после генерации.
Вы также должны установить рабочий каталог в корень генерируемого проекта. Вы можете сделать это либо с помощью аргумента --path
, который принимается всеми командами, либо с помощью настройки рабочего каталога в схеме, как показано ниже:
СБОРКА PROJECTDESCRIPTION
Работа команды tuist
зависит от наличия фреймворка ProjectDescription
в каталоге собранных продуктов. Если tuist
не может быть выполнена, потому что команда не может найти фреймворк ProjectDescription
, постройте сначала схему Tuist-Workspace
.
Из терминала
Вы можете выполнить tuist
с помощью самого Tuist, используя его команду run
:
bash
tuist run tuist generate --path /path/to/project --no-open
Как альтернатива - вы можете запустить его напрямую через Менеджер Пакетов Swift:
bash
swift build --product ProjectDescription
swift run tuist generate --path /path/to/project --no-open