dempseyatgithub /
BuildSettingExtractor
Извлекает настройки сборки проекта Xcode в конфигурационные файлы xcconfig.
Форки
52
Звёзды
1.1k
Issues
0
BuildSettingExtractor вытаскивает все настройки сборки из Xcode-проекта в понятные файлы .xcconfig. Делает конфиги читаемыми для автоматизации.
Что делает
Инструмент берет сложный и запутанный файл проекта Xcode и превращает его в набор аккуратных файлов конфигурации. Вместо того чтобы копаться в интерфейсе Xcode, вы получаете структуру, которую легко править текстовым редактором.
Это упрощает управление сборками для больших проектов. Вы можете хранить настройки в системе контроля версий без боли от конфликтов в XML-структуре Xcode. Это чистое решение для тех, кто хочет контролировать сборку через конфиги.
Как работает
Утилита парсит структуру проекта и вытягивает параметры сборки, которые Xcode прячет внутри своих внутренних файлов. Она конвертирует их в формат `xcconfig`. Это стандартный текстовый формат Apple, который понимает любая система сборки.
Кому подходит
Разработчикам, которые автоматизируют CI/CD пайплайны и устали от ошибок в Xcode.
Вайб-кодерам, которые переносят логику сборки в скрипты для облачных билдов.
Командам, которые хотят версионировать настройки сборки без лишнего мусора в Git.
Основные возможности
Извлечение всех параметров сборки в один или несколько файлов.
Поддержка формата xcconfig, который легко читать и редактировать.
Устранение зависимости от графического интерфейса Xcode при настройке.
Оптимизация процесса управления конфигурациями проекта.
Как установить
Для работы потребуется скомпилировать проект из исходников, так как это утилита командной строки на Objective-C. Клонируйте репозиторий и соберите его через Xcode или терминал.
git clone https://github.com/dempseyatgithub/BuildSettingExtractor
cd BuildSettingExtractor
xcodebuildПосле сборки исполняемый файл появится в папке `build`. Запускайте его прямо из консоли, передавая путь к вашему `.xcodeproj` файлу.
Как применить в своём продукте
Используйте этот инструмент как часть своего конвейера по автоматизации мобильной разработки. Если вы создаете SaaS для автоматической сборки приложений, встройте этот парсер для генерации конфигов на лету.
Внедрите в CI/CD скрипты для генерации актуальных конфигов перед каждым билдом.
Используйте для аудита настроек безопасности в проектах клиентов.
Превратите в API-сервис, который принимает проект и отдает чистые файлы конфигурации.
Подводные камни
Инструмент написан на Objective-C, поэтому для сборки вам в любом случае потребуется установленный Xcode на macOS. Если проект Xcode использует очень специфические или нестандартные плагины, парсер может пропустить некоторые сложные зависимости. Всегда проверяйте результат после генерации.
Частые вопросы
Нужно ли мне знать Objective-C, чтобы пользоваться этим?
Вообще нет. Это готовая утилита командной строки. Вы просто запускаете бинарник в терминале, указываете путь к проекту, и он выдает результат. Знание языка требуется только если вы захотите дописать функционал под себя.
Сломает ли это мой текущий проект Xcode?
Нет. Инструмент только читает данные из проекта и создает новые файлы. Он не вносит изменения в исходные файлы Xcode, так что ваш проект останется в безопасности.
Работает ли это с новыми форматами Xcode?
Инструмент хорошо справляется с базовыми структурами проектов. Однако, если Apple сильно меняет внутренний формат XML в Xcode, возможны ошибки. Всегда делайте бэкап проекта перед запуском любых автоматических утилит.
Похожие репозитории
LuLu — бесплатный open source фаервол для macOS. Блокирует исходящий трафик приложений, пока вы сами не разрешите соединение.
Lemon Cleaner — утилита для macOS от Tencent для очистки системы, удаления дублей и мониторинга ресурсов. Помогает поддерживать чистоту на Mac без ручного поиска мусора.
HexFiend — это быстрый шестнадцатеричный редактор для macOS. Позволяет ковырять файлы любого размера без тормозов.
Официальная macOS-оболочка для Syncthing. Позволяет синхронизировать папки между устройствами без облачных серверов и лишних настроек.
Данные обновлены: 3 июня 2026 г.