Веб-версияОткрыть в Telegram

Пост😋 Как работают xcodebuild, swift-build и Swift Build — разница и отношения внутри экосистемы Swift

12 декабря 2025
K
Kirill Smirnov
Ссылка
нажмите — покажем
😋 Как работают xcodebuild, swift-build и Swift Build — разница и отношения внутри экосистемы Swift В продолжение рассмотренных тем касающихся систем сборки: 😃 Tuist снова завозит магию. 🤔 Компиляторы vs системы сборки. В Swift существует три разные сущности: swift-build - ядро системы сборки, реализованное в репозитории swift-build. • Он основан на llbuild и служит единым движком, который может планировать и исполнять сборочные задачи для разных фронтов; • Он не знает напрямую о форматах .xcodeproj или Package.swift. Вместо этого он оперирует промежуточным представлением проекта, называемым PIF (Project Intermediate Format) — абстрактный граф сборки; • Это то, что Xcode и SwiftPM используют под капотом для фактической сборки после того как манифесты/проекты интерпретированы и конвертированы в PIF. swift build - система-сборки для сборки Swift Package Manager. • cобирает только SwiftPM-пакеты (Package.swift); • парсит манифест, строит граф таргетов, генерирует PIF и передаёт его движку сборки; • вызывает движок сборки (swift-build вместе с опцией --build-system=swiftbuild). xcodebuild - система-сборки Xcode-проектов/воркспейсов. • читает .xcodeproj/.xcworkspace и Build Settings; • разрешает схемы, таргеты, зависимости; • конвертирует Xcode-конфигурацию в PIF; • затем передаёт PIF в swift-build для фактического исполнения. То есть xcodebuild не вызывает swiftc напрямую через жесткие встроенные правила — он сначала интерпретирует проект, генерирует промежуточное представление и затем передаёт его в swift-build для сборки. #L #xcodebuild #swiftbuild 👏
10 · 246 ·

Рядом в ленте

KKirill Smirnov🤔 Вчера обсуждали с нашими хорошими друзьям и коллегами из Яндекса тему использования AI-кодеров и связанных с этим security-рисков (отсылка к их открытому рассKKirill Smirnov🤪 Swift Configuration 1.0 — появился стабильный, типобезопасный инструмент для работы с конфигурациями в Swift-проектах. Теперь можно единообразно собирать конф
это сообщение
KKirill Smirnov🤖 Все, что нужно знать о push-уведомлениях в iOS Иногда одна статья хорошо подсвечивает, насколько push-уведомления в iOS — это не «показать алерт», а сложная сEEgor Mezhin😏 SwiftUI: почему Group всё ещё считается вредным Почитал интересную статью от Two Cent Studios про контейнер Group в SUI – и она очень точно формулирует пробле
YYDC — Pizza Powered iOSYDC — Pizza Powered iOS@YoungDaCode · канал · Технологии
243подписчиков150постов в индексе
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем