Как установить пакет в 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.


person m81    schedule 16.12.2015    source источник
comment
Есть какие-нибудь обновления по этому поводу теперь, когда вышла 7.3?   -  person John D    schedule 19.02.2016
comment
@JohnD, Swift Package Manager не был выпущен с Xcode 7.3 и Swift 2.2.1. Ожидается, что он будет выпущен вместе со Swift 3.   -  person Franklin Yu    schedule 09.06.2016
comment
На сегодняшний день (12/2020) вам не нужен xcodeproj (как и generate-xcodeproj) для создания пакета iOS. Подробнее об этом я расскажу в этом ответе: stackoverflow.com/questions/64758546/   -  person itMaxence    schedule 11.12.2020


Ответы (3)


Swift Package Manager теперь поддерживает создание проекта Xcode с

swift package generate-xcodeproj

как указано в этом ответе, но это работает только при разработке библиотеки или инструмента командной строки. Нет (пока) для разработчика графических приложений (iOS / OS X):

Обратите внимание, что в настоящее время диспетчер пакетов не поддерживает платформы iOS, watchOS или tvOS.

Примечание:

  • Это может не сработать, если в имени вашего пакета есть пробел, например, измените «App Store» на «AppStore».
person Franklin Yu    schedule 09.06.2016
comment
Изменилось ли это с выпуском Swift 3 и Xcode 8? - person zirinisp; 15.09.2016
comment
@zirinisp У меня все еще работает со стабильным Xcode 8 (обновленным сегодня) на El Capitan. - person Franklin Yu; 15.09.2016
comment
он отлично работает, когда вы используете Mac Xcode для разработки Linux - person AleyRobotics; 24.12.2016

В настоящее время для использования Swift Package Manager, также известного как 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 development. Как правило, вы можете создавать / запускать / тестировать что-то без проблем, хотя игровые площадки не работают, и могут возникнуть проблемы с Xcode с отладчиком.

person timbo    schedule 17.12.2015
comment
Все вышесказанное верно ... Я бы порекомендовал подождать (надеюсь, не очень долго), когда упадет XCode 7.3, который лучше интегрируется с цепочкой инструментов Swift. - person rougeExciter; 17.03.2016

Обновление от 4 июня 2019 г. Swift 5 и SPM 5 добавили эту поддержку, а Xcode 11 интегрируется с SPM.

person possen    schedule 04.06.2019