Кроссплатформенная замена Xcode для сборки, подписи и установки iOS-приложений из пакетов SwiftPM на Linux, Windows и macOS.
sparrowcode/PermissionsKit
Swift-библиотека для iOS с единым API для запроса системных разрешений и проверки их статуса.
- Звёзды
- 5,812
- Форки
- 479
- Открытые issues
- 4
- Последний коммит
- 2 месяца назад
Что это?
PermissionsKit предоставляет iOS-приложениям единый API для запроса системных разрешений, например доступа к камере, геопозиции, уведомлениям, фото и контактам, а также для проверки, разрешён ли доступ, запрещён или ещё не запрашивался. Каждое разрешение поставляется как отдельный продукт Swift package, поэтому приложение подключает только те разрешения, которые использует.
Библиотека также помогает с сопутствующей настройкой. Для каждого разрешения она предоставляет ключ описания цели использования из Info.plist и позволяет локализовать эти описания с помощью экспорта xliff или файлов InfoPlist.strings. Для FaceID есть документированное исключение: библиотека не может различить разрешённый доступ и состояние «ещё не запрашивался», поэтому достоверно определить можно только отказ.
Ключевые возможности
- 01Запрашивайте разрешения и проверяйте их статус через единый API.
- 02Каждое разрешение — отдельный продукт Swift package, что позволяет уменьшить размер бинарных файлов.
- 03Поддерживает Bluetooth, Calendar, Camera, Location, Notifications, Photos, Health и другие разрешения.
- 04Предоставляет ключ описания цели использования из Info.plist для каждого разрешения.
- 05Позволяет локализовать описания цели использования с помощью экспорта xliff или файлов InfoPlist.strings.
Сценарии использования
- Добавление в iOS-приложение запроса разрешений с единообразной обработкой разных типов разрешений.
- Проверка текущего статуса разрешения перед показом функции, которой нужен доступ к камере или геопозиции.
- Минимизация набора подключённых API разрешений в iOS-приложении для App Review.
Быстрый старт
- 1
Добавьте пакет в Xcode через File → Add Package Dependencies, указав URL репозитория
- 2
Выберите только продукты разрешений, которые использует ваше приложение, и импортируйте их в Swift
Что важно знать
- Поддерживается только iOS.
- FaceID не может отличить .authorized от .notDetermined, поэтому надёжным является только .denied.
В подборках
Темы
Частые вопросы
- Что такое PermissionsKit?
- Swift-библиотека для iOS с единым API для запроса системных разрешений и проверки их статуса. PermissionsKit предоставляет iOS-приложениям единый API для запроса системных разрешений, например доступа к камере, геопозиции, уведомлениям, фото и контактам, а также для проверки, разрешён ли доступ, запрещён или ещё не запрашивался. Каждое разрешение поставляется как отдельный продукт Swift package, поэтому приложение подключает только те разрешения, которые использует.
- PermissionsKit можно использовать бесплатно? Какая у него лицензия?
- PermissionsKit распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- PermissionsKit всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в PermissionsKit — 12 сент. 2026 г..
- Для чего можно использовать PermissionsKit?
- Добавление в iOS-приложение запроса разрешений с единообразной обработкой разных типов разрешений. Проверка текущего статуса разрешения перед показом функции, которой нужен доступ к камере или геопозиции. Минимизация набора подключённых API разрешений в iOS-приложении для App Review.
- Как установить PermissionsKit?
- Добавьте пакет в Xcode через File → Add Package Dependencies, указав URL репозитория Выберите только продукты разрешений, которые использует ваше приложение, и импортируйте их в Swift
- Где скачать PermissionsKit?
- Исходный код и инструкции по установке — на GitHub: https://github.com/sparrowcode/PermissionsKit
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Фотопикер для iOS в стиле WeChat: выбор фото, GIF, Live Photos и видео, а также встроенное редактирование изображений и видео.
Нативное приложение для iOS, которое одновременно записывает видео с двух камер через AVCaptureMultiCamSession и поддерживает режимы разделённого экрана и «картинка в картинке» с интерфейсом Liquid Glass.
Фреймворк для создания нативных приложений для Android и iOS на React: интерфейс на JavaScript отображается с помощью компонентов платформы.
Готовая к подключению библиотека для iOS, которая не даёт клавиатуре перекрывать UITextField и UITextView, — без дополнительного кода.
Официальный исходный код приложения Telegram для iOS с системой сборки для самостоятельной компиляции в Xcode.