Skip to content

surfstudio/iOS-Utils

Repository files navigation

GitHubActions Build Status codecov CocoaPods Version SPM Compatible

iOS-Utils

Utils collection for iOS-development. Each utility is a small and frequently used piece of logic or UI component.

iOS-Utils

About

В повседневной работе часто применяются одни и те же устоявшиеся решения, участки логики. Именно они и вынесены в данную библиотеку: проверенные временем решения, охватывающие весь спектр разработки - от небольших хелперов или оберток над системными API, до полноценных UI-компонентов.

Installation

CocoaPods

Для добавления всех утилит, добавьте в свой Podfile следующую строку, затем запустите pod install

pod 'SurfUtils'

Для установки конкретной утилиты $UTIL_NAME необходимо добавить следующий код в ваш Podfile, затем запустить pod install

pod 'SurfUtils/$UTIL_NAME$'

Swift Package Manager

  • В XCode пройдите в File > Add Packages...
  • Введите URL репозитория https://github.com/surfstudio/iOS-Utils.git

Features

Самое полезное и наиболее часто используемое:

  • StringAttributes - упрощение работы с NSAttributedString
  • KeyboardPresentable - семейство протоколов для упрощения работы с клавиатурой и сокращения количества одинакового кода
  • SkeletonView - cпециальная кастомная View для создания skeleton loader'ов
  • XibView - для работы UIView + xib
  • CommonButton - Базовый класс для кнопки
  • UIDevice – набор вспомогательных методов для определения типа девайса
  • UIStyle – класс для удобной работы с разными стилями UIView наследников
  • LoadingView - набор классов и протоколов для удобного отображения загрузочных состояний с шиммерами

Example

Все вышеперечисленное можно увидеть в Example-проекте. Для его корректного запуска и конфигурации скачайте репозиторий и выполните команду make init перед тем как его запустить.

Changelog

Список всех изменений можно посмотреть в этом файле.

Contributing

  • Туториал по добавлению собственной утилиты можно найти здесь
  • Правила работы с репозиторием - здесь

License

MIT License