Создание Swift проекта с SPM (Swift Package Manager) Xcode

Создание Swift проекта с SPM (Swift Package Manager) Xcode

Введение в Swift Package Manager

Swift Package Manager (SPM) – это, по сути конфиг, вашего проекта. Используя SPM у Вас нет необходимости использовать xcodeproj для работы с проектом, что в свою очередь позволяет запускать проекты не только на Mac, но и на Linux, где работать с xcodeproj на текущий момент невозможно.

Чтобы всё получилось необходимо установить Xcode, без этого никак. Также нужно базовое понимание команд, используемых в терминале (terminal).

Создание

Чтобы создать Swift проект с последующим использованием Swift Package Manager откройте терминал. Создайте директорию в нужном Вам месте. Название директории имеет значение, как назовёте директорию так и будет называться проект. Для удобства назовём директорию SpmProject.

Перейдите в созданную директорию.

Внутри директории сделайте инит проекта.

Терминал уведомит, что был добавлен ряд файлов. Например, так как показан на скрине ниже.

Инит проекта SPM

Теперь интересует главное – как добавить зависимость? Открываем созданный файл «Package.swift» в любом редакторе (например, в Xcode).

SPM Package.swift

Данный файл хранит в себе конфигурацию проекта, таргеты, зависимости. Добавим в качестве зависимости библиотеку Alamofire. Для этого в зависимости (dependencies) проекта нужно добавить ссылку откуда брать библиотеку. Затем, в конкретный таргет прописать зависимость. Выглядеть будет примерно следующим образом.

SPM Package.swift

Если использовать в качестве редактора данного файла Xcode, то он сам подтянет зависимость. В противном случае для скачивания библиотеки потребуется выполнить команду в терминале.

Создание .xcodeproj

Чтобы адекватно работать с проектом нужно сгенерировать общий контейнер проекта. В терминале выполните команду.

В консоле отобразится нечто похожее.

Теперь запустите Xcode и откройте данный проект. Можно работать как с обычным консольным приложением. Редактировать, дебажить, собирать, гонят тесты – теперь всё это можно делать через Xcode.

Post Author: Nikulux

Добавить комментарий