При сборке приложения макросы как зависимость (сам package) используются на этапе линковки, из этого этапа убрать их нельзя - будет ругаться компилятор на импорт либы, и на объект, к которому присоединен макрос в случае attached макроса из-за отсутствия необходимой реализации.
Библиотеки SwiftSyntax на этапе линковки не отображаются, так что должны использоваться только на этапе компиляции.
При создании архива приложения будет сгенерирован отдельный dSYM файл для макроса, других следов его присутствия я не нашла (что логично, но перепроверить стоило). Так что в финальный ipa файл макрос как внешняя зависимость не входит - входит только сгенерированный код.
Синтаксическое дерево строится при компиляции кода на этапе его парсинга и используется для синтаксического анализ кода: оно проверяется на корректность с точки зрения «грамматики» Swift.
Как раз для проверки кода на корректность синтаксическое дерево содержит все элементы кода
При сборке приложения макросы как зависимость (сам package) используются на этапе линковки, из этого этапа убрать их нельзя - будет ругаться компилятор на импорт либы, и на объект, к которому присоединен макрос в случае attached макроса из-за отсутствия необходимой реализации.
Библиотеки SwiftSyntax на этапе линковки не отображаются, так что должны использоваться только на этапе компиляции.
При создании архива приложения будет сгенерирован отдельный dSYM файл для макроса, других следов его присутствия я не нашла (что логично, но перепроверить стоило). Так что в финальный ipa файл макрос как внешняя зависимость не входит - входит только сгенерированный код.
Пока искала информацию, нашла статью, как можно использовать макросы без SPM (с использованием двоичного файла). Возможно будет полезно.
Синтаксическое дерево строится при компиляции кода на этапе его парсинга и используется для синтаксического анализ кода: оно проверяется на корректность с точки зрения «грамматики» Swift.
Как раз для проверки кода на корректность синтаксическое дерево содержит все элементы кода
Документация