Как создать модульную структуру с файлом modulemap?
Я пытаюсь создать и распространить фреймворк и сделать мой фреймворк модульным. Однако я не могу разделить основной модуль на подмодули.
Например, у меня есть фреймворк под названием "MyFramework", и он имеет два отдельных класса в A.swift и B.swift соответственно. Я хочу получить доступ к своим модулям, таким как "import MyFramework.A" и "import MyFramework.B". (Это как HomeKit, у него есть подмодуль HomeKit.HMHomeManager и т. Д.)
Я понял, что могу достичь этого, предоставив собственную карту модуля. При его создании я не могу предоставить подмодулям необходимые функции. Насколько я вижу, субмодули берет заголовочные файлы для отображения необходимой информации. Однако файлы swift не имеют заголовка, и я не могу предоставить modulemap какие-либо заголовки.
По сути, я хочу, чтобы мои подмодули имели только конкретную информацию.
Пример карты модуля:
framework module MyFramework {
module A {
// This module should have only the A.swift file's functionality.
}
module B {
// This module should have only the B.swift file's functionality.
}
}
На приведенной выше карте модулей все функции файлов A и B.swift отображаются в "MyFramework", но когда я импортирую MyFramework.A (или B) и перемещаюсь по нему, внутри модуля MyFramework.A ничего не отображается. Короче говоря, я хочу функциональность A.swift внутри MyFramework.A.
Я искал связанные темы, но единственное, что я вижу, это то, что я могу предоставить заголовки Obj-C в модули, однако в моем проекте нет файлов Objective-C.
Знаете ли вы, как я могу распространять модульную структуру, не делясь своим исходным кодом?
Заранее спасибо.