Вопрос проверяет умение разделять проект на пакеты для лучшей поддерживаемости и повторного использования кода.
С помощью SPM создают отдельные пакеты (Package.swift) с целями (targets), где группируют логику (UI, сеть, утилиты). Затем в основном Xcode-проекте подключают пакеты как зависимости. Это позволяет изолировать функциональность и ускоряет сборку только изменённых пакетов.
Создание пакета:
В папке проекта выполнить swift package init --type library.
Отредактировать Package.swift, указав имя, версии и зависимости.
Разделение на модули:
Создайте несколько пакетов: Core, Network, UIComponents.
Каждый пакет содержит свой Sources и Tests.
Подключение в Xcode:
В настройках проекта → Swift Packages → + → добавить URL локального или удалённого репозитория.
Выбрать нужную версию (branch / tag).
Организация целей:
В Package.swift можно описать targets с явными зависимостями между ними:
.target(
name: "AppCore",
dependencies: ["Network", "UIComponents"]),Вывод:
SPM даёт простой и встроенный способ создавать модули, уменьшать время сборки и подчёркивать границы ответственности в приложении.