Как создать модульную структуру с файлом 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.

Знаете ли вы, как я могу распространять модульную структуру, не делясь своим исходным кодом?

Заранее спасибо.

0 ответов

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