Swift Как сделать импортированные протоколы импортированными из другого модуля доступными вне текущего модуля

Используя swift, я создал платформу Common, которая содержит функции и протоколы, которые я часто использую, чтобы сократить повторное использование кода.

Common.framework

public protocol CommonProtocol {}

Затем я создал структуру, которой я хочу поделиться с другими, которая включает в себя некоторые классы, которые расширяют CommonProtocol и передают CommonProtocol в ответ на некоторые вызовы функций. Sharable.framework

public class Sharable : CommonProtocol {
    func getCommon() -> CommonProtocol
}

К сожалению, когда я пытаюсь использовать Sharable.framework в проекте, я получаю там ошибку:

Ошибка компилятора Swift
Использование необъявленного типа CommonProtocol

Кто-нибудь знает, как сделать протокол видимым для модулей, которые используют Sharable.framework?

Я копирую фрейм Common.framework на шаге "Копировать файлы" в Destination Frameworks (не было никаких заметных изменений, когда я сделал его Shared Frameworks)

Если возможно, я бы предпочел, чтобы только определенные протоколы из Common.framework были видны через Sharable.framework, и я не хочу заставлять своих пользователей импортировать несколько платформ, если я могу этого избежать.

0 ответов

Другие вопросы по тегам