Как установить пакет в Xcode через Swift Package Manager
Я работаю над проектом в Xcode и пытаюсь установить и использовать пакет CryptoSwift через менеджер пакетов Swift.
Я прочитал документацию по SPM, но не вижу инструкций о том, как вызвать SPM через XCode.
Примеры часто ссылаются на вызов $ swift build
. Означает ли это, что SPM доступен только из командной строки? И если да, то где именно я должен создать файл Package.swift
?
Я достаточно знаком с XCode, но я не совсем понимаю значение части настроек сборки проекта или как используются модули Swift.
РЕДАКТИРОВАТЬ: Этот вопрос первоначально был задан для Xcode 7.2, который поставляется с Swift 2.1.1. С удовольствием приму ответы, объясняющие, как это сделать с текущими/будущими версиями Xcode.
Ответы
Ответ 1
Swift Package Manager теперь поддерживает создание проекта Xcode с помощью
swift package generate-xcodeproj
как указано в этом ответе, но это работает только при разработке библиотеки или инструмента командной строки. Не (пока) для графического разработчика приложений (iOS/OS X):
Обратите внимание, что в это время Менеджер пакетов не поддерживает платформы iOS, watchOS или tvOS.
Примечание:
- Это может не сработать, если в вашем имени пакета есть пробел, т.е. измените "App Store" на "AppStore".
Ответ 2
В настоящее время для использования диспетчера пакетов Swift, например SPM, вам необходимо установить версию разработки Swift 2.2, предоставленную Apple здесь. Xcode 7.2 поставляется с Swift 2.1.1 и не работает с SPM, если не установлен Swift 2.2-dev.
Вы можете скомпилировать Swift 2.2-dev, но вам нужно будет сделать сборку CryptoSwift в командной строке с помощью swift build
. Когда библиотеки и модули отображаются, вы можете перетащить их в Xcode 7.2 с помощью Finder. SPM помещает необходимые файлы в каталог .build
. Но Xcode 7.2 необходимо запустить с помощью альтернативной инструментальной цепочки. Это можно сделать из командной строки с помощью xcrun launch-with-toolchain /Library/Developer/Toolchains/swift-latest.xctoolchain
Вы должны иметь возможность import
из модулей/библиотек, созданных с помощью SPM.
Обратите внимание, что вы не можете отправлять приложения iOS в магазин в тот момент, когда они были созданы с версией разработки 2.2. Вы можете создавать/запускать/тестировать вещи вообще без проблем, хотя игровые площадки не работают, и с отладчиком могут возникать проблемы с Xcode.
Ответ 3
4 июня 2019 г. обновление. Swift 5 и SPM 5 добавили эту поддержку, а Xcode 11 интегрируется с SPM.