{"id":21748300,"url":"https://github.com/surfstudio/ios-utils","last_synced_at":"2025-10-06T11:11:45.644Z","repository":{"id":37818993,"uuid":"143986639","full_name":"surfstudio/iOS-Utils","owner":"surfstudio","description":"Utils collection for iOS-development. Each utility is a small and frequently used piece of logic or UI component.","archived":false,"fork":false,"pushed_at":"2025-08-18T09:11:05.000Z","size":22681,"stargazers_count":68,"open_issues_count":6,"forks_count":15,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-09-28T02:41:49.258Z","etag":null,"topics":["helpers","ios","swift","tools","utils"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/surfstudio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-08T08:49:45.000Z","updated_at":"2025-09-19T07:49:24.000Z","dependencies_parsed_at":"2024-06-21T15:44:30.998Z","dependency_job_id":"df586fce-f27d-4e68-96cc-77eb87d0503c","html_url":"https://github.com/surfstudio/iOS-Utils","commit_stats":{"total_commits":378,"total_committers":30,"mean_commits":12.6,"dds":0.798941798941799,"last_synced_commit":"3d679adef6c6837f7f740506631c5eda2d13810a"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/surfstudio/iOS-Utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/surfstudio%2FiOS-Utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/surfstudio%2FiOS-Utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/surfstudio%2FiOS-Utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/surfstudio%2FiOS-Utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/surfstudio","download_url":"https://codeload.github.com/surfstudio/iOS-Utils/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/surfstudio%2FiOS-Utils/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278598620,"owners_count":26013291,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["helpers","ios","swift","tools","utils"],"created_at":"2024-11-26T08:12:57.372Z","updated_at":"2025-10-06T11:11:45.625Z","avatar_url":"https://github.com/surfstudio.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![GitHubActions Build Status](https://github.com/surfstudio/iOS-Utils/workflows/CI/badge.svg)](https://github.com/surfstudio/iOS-Utils/actions)\n[![codecov](https://codecov.io/gh/surfstudio/iOS-Utils/branch/master/graph/badge.svg)](https://codecov.io/gh/surfstudio/iOS-Utils)\n[![CocoaPods Version](https://img.shields.io/cocoapods/v/SurfUtils.svg?style=flat)](https://cocoapods.org/pods/SurfUtils)\n[![SPM Compatible](https://img.shields.io/badge/SPM-compatible-blue.svg)](https://github.com/apple/swift-package-manager)\n# iOS-Utils\n\nUtils collection for iOS-development. Each utility is a small and frequently used piece of logic or UI component.\n\n[![iOS-Utils](https://i.ibb.co/vsGyFx7/Group-48095987.png)](https://github.com/surfstudio/iOS-Utils)\n\n## About\n\nВ повседневной работе часто применяются одни и те же устоявшиеся решения, участки логики. Именно они и вынесены в данную библиотеку: проверенные временем решения, охватывающие весь спектр разработки - от небольших хелперов или оберток над системными API, до полноценных UI-компонентов.\n\n## Installation\n\n#### CocoaPods\n\nДля добавления всех утилит, добавьте в свой Podfile следующую строку, затем запустите `pod install`\n\n```ruby\npod 'SurfUtils'\n```\n\nДля установки конкретной утилиты $UTIL_NAME необходимо добавить следующий код в ваш `Podfile`, затем запустить `pod install`\n\n```ruby\npod 'SurfUtils/$UTIL_NAME$'\n```\n\n#### Swift Package Manager\n\n- В XCode пройдите в `File \u003e Add Packages...`\n- Введите URL репозитория `https://github.com/surfstudio/iOS-Utils.git`\n\n## Features\n\n- Различные UI-компоненты и утилиты, завязанные на UIKit - [документация](TechDocs/uikit_utils.md)\n- Хелперы, небольшие утилиты и сервисы - [документация](TechDocs/service_utils.md)\n\nСамое полезное и наиболее часто используемое:\n\n- [StringAttributes](TechDocs/service_utils.md#stringattributes) - упрощение работы с `NSAttributedString`\n- [KeyboardPresentable](TechDocs/uikit_utils.md#keyboardpresentable) - семейство протоколов для упрощения работы с клавиатурой и сокращения количества одинакового кода\n- [SkeletonView](TechDocs/uikit_utils.md#skeletonview) - cпециальная кастомная View для создания skeleton loader'ов\n- [XibView](TechDocs/uikit_utils.md#xibview) - для работы UIView + xib\n- [CommonButton](TechDocs/uikit_utils.md#commonbutton) - Базовый класс для кнопки\n- [UIDevice](TechDocs/uikit_utils.md#uidevice) – набор вспомогательных методов для определения типа девайса \n- [UIStyle](TechDocs/uikit_utils.md#uistyle) – класс для удобной работы с разными стилями UIView наследников\n- [LoadingView](TechDocs/uikit_utils.md#loadingview) - набор классов и протоколов для удобного отображения загрузочных состояний с шиммерами\n\n## Example\n\nВсе вышеперечисленное можно увидеть в Example-проекте. Для его корректного запуска и конфигурации скачайте репозиторий и выполните команду `make init` перед тем как его запустить.\n\n## Changelog\n\nСписок всех изменений можно посмотреть в этом [файле](./CHANGELOG.md).\n\n## Contributing\n\n- Туториал по добавлению собственной утилиты можно найти [здесь](./ADD_NEW_UTIL_TUTORIAL.md)\n- Правила работы с репозиторием - [здесь](./CONTRIBUTING.md)\n\n## License\n\n[MIT License](./LICENSE)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsurfstudio%2Fios-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsurfstudio%2Fios-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsurfstudio%2Fios-utils/lists"}