Как импортировать зависимости пакета при использовании Swift Package Manager? - PullRequest
1 голос
/ 26 февраля 2020

Я начал новый проект Xcode. Я импортировал пакет с помощью Swift Package Manager (например, Quick ).

Я вижу Quick на боковой панели в Xcode.

Теперь я могу использовать Quick, сначала импортировав его:

import Quick

Все отлично работает с Quick.


Я заметил, что на боковой панели Xcode, когда я импортировал Quick, он автоматически импортировал свои зависимости (например, Nimble ).

Я предположил, что могу начать использовать эту зависимость, импортировав ее, однако это приведет к ошибке:

import Quick
import Nimble // ❌ No such module 'Nimble'

Если я попытаюсь опустить import и просто использовать строка кода непосредственно из Nimble, я также получаю сообщение об ошибке:

expect(1 + 1).to(equal(3)) // Use of unresolved identifier 'expect'

Как использовать Nimble в моем проекте?


Я предполагаю один из способов решения этой проблемы это также явное добавление пакета Nimble через менеджер пакетов Swift.

Однако это кажется неправильным, потому что:

  1. У меня уже есть исходный код для Nimble в моем проекте XCode
  2. Я не хочу несовпадения версий между явным Плавная версия, которую я получаю из Swift Package Manager, и неявная Nimble, которую я получаю из Quick.

Как импортировать зависимость пакета при использовании Swift Package Manager?

1 Ответ

1 голос
/ 26 февраля 2020

Чтобы использовать Nimble в своем проекте, вы должны установить его так же, как Quick, используя SPM. и вы можете импортировать Quick в свой класс

1 - SPM загружает зависимости только один раз, очевидно, с той же версией или диапазоном.

2 - Вы должны контролировать версию, устанавливая зависимости в тот же диапазон версий.

...