Введение в Swift Package Manager
Swift Package Manager (SPM) – это, по сути конфиг, вашего проекта. Используя SPM у Вас нет необходимости использовать xcodeproj для работы с проектом, что в свою очередь позволяет запускать проекты не только на Mac, но и на Linux, где работать с xcodeproj на текущий момент невозможно.
Чтобы всё получилось необходимо установить Xcode, без этого никак. Также нужно базовое понимание команд, используемых в терминале (terminal).
Создание
Чтобы создать Swift проект с последующим использованием Swift Package Manager откройте терминал. Создайте директорию в нужном Вам месте. Название директории имеет значение, как назовёте директорию так и будет называться проект. Для удобства назовём директорию SpmProject.
1 |
mkdir SpmProject |
Перейдите в созданную директорию.
1 |
cd SpmProject |
Внутри директории сделайте инит проекта.
1 |
swift package init --type executable |
Терминал уведомит, что был добавлен ряд файлов. Например, так как показан на скрине ниже.
Теперь интересует главное – как добавить зависимость? Открываем созданный файл «Package.swift» в любом редакторе (например, в Xcode).
Данный файл хранит в себе конфигурацию проекта, таргеты, зависимости. Добавим в качестве зависимости библиотеку Alamofire. Для этого в зависимости (dependencies) проекта нужно добавить ссылку откуда брать библиотеку. Затем, в конкретный таргет прописать зависимость. Выглядеть будет примерно следующим образом.
Если использовать в качестве редактора данного файла Xcode, то он сам подтянет зависимость. В противном случае для скачивания библиотеки потребуется выполнить команду в терминале.
1 |
swift package update |
Создание .xcodeproj
Чтобы адекватно работать с проектом нужно сгенерировать общий контейнер проекта. В терминале выполните команду.
1 |
swift package generate-xcodeproj |
В консоле отобразится нечто похожее.
1 2 3 4 |
Fetching https://github.com/Alamofire/Alamofire.git Cloning https://github.com/Alamofire/Alamofire.git Resolving https://github.com/Alamofire/Alamofire.git at 5.2.2 generated: ./SpmProject.xcodeproj |
Теперь запустите Xcode и откройте данный проект. Можно работать как с обычным консольным приложением. Редактировать, дебажить, собирать, гонят тесты – теперь всё это можно делать через Xcode.