mac-cain13 /
R.swift
Строго типизированные ресурсы (изображения, шрифты, segue) с автодополнением для Swift-проектов.
Форки
782
Звёзды
9.6k
Issues
0
R.swift убирает строковые ошибки при работе с ресурсами в iOS. Генерирует типизированный код для картинок, шрифтов и segue. Работает через автодополнение в Xcode.
Что делает
Этот инструмент решает проблему «магических строк» в Swift. Разработчики часто пишут названия изображений или идентификаторы segue как обычный текст. Опечатка в такой строке ломает приложение на этапе выполнения.
R.swift сканирует проект и создает файл `R.generated.swift`. В нем лежат все ресурсы в виде понятных структур. Теперь вместо строки ты пишешь `R.image.logo()`. Ошибиться невозможно.
Как работает
Проект анализирует папку с ресурсами и файлы проекта. Он запускается как скрипт во время сборки (Build Phase) в Xcode. После каждого изменения ресурсов он обновляет сгенерированный файл.
Он использует стандартные механизмы Swift для создания типизированных ссылок. Это дает полную поддержку автодополнения прямо в редакторе.
Кому подходит
Разработчикам iOS-приложений, которые устали искать баги из-за опечаток в именах файлов.
Вайб-кодерам, собирающим сложные интерфейсы через Cursor, где важно быстро переиспользовать ассеты.
Командам, которые хотят сделать код чище и избавиться от хардкода.
Основные возможности
Автодополнение для изображений, шрифтов и цветов.
Безопасная работа с идентификаторами segue.
Поддержка локализации через типизированные ключи.
Автоматическая генерация файлов при каждой сборке.
Поддержка iOS, tvOS и watchOS.
Полная интеграция с Xcode Build Phases.
Как установить
Добавь пакет через Swift Package Manager или используй CocoaPods. Самый быстрый способ — добавить `R.swift` в зависимости проекта и настроить скрипт в Build Phases.
# Добавь в Package.swift
.package(url: "https://github.com/mac-cain13/R.swift.git", from: "7.0.0")После установки добавь команду `$SRCROOT/rswift generate $SRCROOT/R.generated.swift` в раздел «Run Script» настроек цели Xcode.
Как применить в своём продукте
Используй это для ускорения сборки UI. Когда ты просишь AI-агента создать экран, он часто путается в названиях ресурсов. С R.swift ты всегда получишь валидный код, который компилируется с первого раза.
Замени все обращения по строкам на R-структуры для стабильности.
Настрой автогенерацию для быстрой верстки макетов через AI.
Используй типизированные шрифты, чтобы не искать их названия в системе.
Подводные камни
Главный минус — время сборки. На очень больших проектах с тысячами картинок генерация может занимать лишние секунды. Также нужно следить, чтобы файл `R.generated.swift` не попадал в ручное редактирование, иначе изменения затрутся при следующей сборке.
Частые вопросы
Нужно ли запускать генерацию вручную?
Нет. Инструмент встроен в жизненный цикл сборки Xcode. Каждый раз, когда ты нажимаешь Cmd+B, он проверяет ресурсы и обновляет файл автоматически.
Сломается ли проект, если удалить картинку?
Да, но это хорошо. Компилятор сразу подсветит ошибку в месте вызова `R.image.myImage()`. Ты узнаешь о проблеме до запуска приложения, а не после падения.
Работает ли это с SwiftUI?
Да, R.swift отлично дружит со SwiftUI. Ты можешь безопасно использовать типизированные ресурсы в своих View без риска опечаток в именах файлов.
Топики
Похожие репозитории
CodeEdit — это полноценный open-source редактор кода для macOS, созданный как альтернатива Xcode. Легкий, быстрый и бесплатный.
CopilotForXcode — это плагин, который приносит автодополнение кода уровня GitHub Copilot прямо в среду разработки Xcode для macOS.
MonitorControl превращает любой сторонний монитор в нативный Apple Display. Управляй яркостью и звуком через клавиатуру Mac или шорткаты.
Clipy — это менеджер буфера обмена для macOS. Он сохраняет историю скопированного текста и картинок, чтобы вы не теряли данные при работе.
Данные обновлены: 24 марта 2026 г.