В настоящее время мы модулировали наш проект Swift, используя несколько целей.Цели компилируются в файлы .framework, которые являются зависимостями более высоких целей.У нас есть общая цель модуля, несколько целей модуля продукта и исходная цель приложения.Common будет содержать код очень низкого уровня, общие библиотеки и любой конкретный код, который может совместно использоваться несколькими целями продукта.
Таким образом, приложение будет выполнять:
import Common
import Product1
import Product2
И код цели Product1 можетdo:
import Common
Обычно поток является общим -> Product * -> App, где Common никогда не будет ссылаться на другое направление.
К сожалению, Common стал большим и имеет много кода, который может не понадобиться для каждого импорта.
То, что я хотел бы достичь в Swift, это что-то вроде этого:
import Common.API
import Common.PurchaseCheckout
Я посмотрел на карты-модули, которые позволяют настроить подмодули импорта, но все это сосредоточено вокруг заголовков target-c, а не Swift.Есть ли быстрая вариация?
Конкретная потребность в том, что мы хотим создать легкий SDK, который использует только некоторые функции, и как только мы «импортируем Common», он раздувает SDK, иэто добавляет зависимости от довольно многих не связанных какао-стручков.Мы можем включать файлы в целевой SDK файл за файлом, но надеялись, что модульность упростит задачу.
РЕДАКТИРОВАТЬ
Похоже, я могу использовать такие вещи как:
import class Common.FileDownloadAPI
import class Common.FileUploadAPI
возможно в моем коде, чтобы создатьвпечатление частичного импорта.Тем не менее, кажется, что module-maps - это способ в target-c сделать это за вас, создав подмодуль.Я не хочу писать 100 импортов классов, чтобы импортировать половину из 200 файлов, которые подмодуль может сделать за один импорт.Так что все еще ищу идеи.