Распространение платформы iOS с зависимостями управления пакетами Swift

Мы разрабатываем платформу iOS под названием FramworkSDK и хотели бы распространять ее среди наших клиентов в виде двоичного файла. FrameworkSDK зависит от среды под названием swift-GRPC. Мы используем диспетчер пакетов Swift, чтобы добавить эту зависимость.

В настоящее время, когда я добавляю двоичную версию FrameworkSDK в свое тестовое приложение, оно выдает такие ошибки, как «невозможно найти модуль x». Модули, на которые ссылаются ошибки, являются модулями, включенными в пакет swift-GRPC.

Я предполагаю, что когда я собираю FrameworkSDK, все зависимости включаются в комплект. Это правильно? Если да, то что я делаю неправильно?


person Chris Maley    schedule 06.01.2020    source источник


Ответы (1)


Вы не можете зависеть от пакета Swift в рамках. Это обсуждалось в Binary Frameworks на WWDC 2019 Talk. Я связался с обсуждением зависимостей/прав, и вскоре после времени, указанного здесь, конкретно указано:

бинарные фреймворки не могут зависеть от пакетов.

Поэтому, если вам не нужно зависеть от пакета, вам, вероятно, потребуется настроить его по-другому в зависимости от того, как вы от него зависите. Это должна быть родственная зависимость, которая также предоставляется вам в качестве фреймворка через другой менеджер пакетов, или вам нужно будет создать код в своем модуле, как если бы он принадлежал вам. Встраивание его в ваш модуль может быть неприятным и требует дополнительной работы для вас, но это наиболее прозрачно для пользователей, если это деталь реализации, которая их не волнует.

person bscothern    schedule 10.01.2020