awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
ivanvorobei avatar

ivanvorobei/SPPermissions

0
View on GitHub↗
5,817 stars·477 forks·Swift·MIT·10 viewsx.com/sparrowcode_ios↗

SPPermissions

SPPermissions is a Swift library that centralizes permission status checks and request flows across iOS and macOS system services. It provides a unified API for checking the current authorization state of any system permission and requesting access through the appropriate system dialog, all through a single interface.

The library uses typed enums to map each system permission to a distinct case, allowing developers to check status and request authorization with a single method call and closure-based callback. It automatically derives the required Info.plist usage-description keys from the permission enum cases, eliminating manual string management, and supports localized permission prompt strings through InfoPlist.strings lookup for multi-language deployments.

SPPermissions covers the full lifecycle of permission management, including status checking, request handling, Info.plist configuration, and localization for both iOS and macOS platforms. The library includes utilities for configuring required usage-description strings and retrieving the exact Info.plist key for any permission.

Features

  • iOS Permission Request APIs - Provides a unified API that checks and requests system permissions for all iOS capabilities.
  • Permission Enum Abstractions - Maps each system permission to a typed enum case for unified status checks and requests.
  • Swift Permission Managers - Centralizes permission status checks and request flows across iOS system services in Swift.
  • iOS Authorization Status Checkers - Returns the current authorization state for any iOS system permission as authorized, denied, or undetermined.
  • System Permission Status Checks - Checks the current authorization state of any system permission with a simple method call.
  • Permission Request Workflows - Provides a unified API for requesting any iOS or macOS system permission through a single method call.
  • Authorization Status Queries - Ships a status-checking API that returns the current authorization state for any system permission.
  • iOS Permission Lifecycles - Manages the full lifecycle of iOS system permissions from request through status monitoring.
  • macOS Permission Lifecycles - Manages the full lifecycle of macOS system permissions from request through status monitoring.
  • Permission - Exposes a unified request function that dispatches to the correct system dialog per permission type.
  • String Localization - Resolves permission prompt text from InfoPlist.strings using the app's current locale.
  • Permission Configurators - Adds required usage-description strings to Info.plist so system permission prompts can be shown.
  • Info.plist Key Derivations - Derives required Info.plist usage-description keys from permission enum cases at runtime.
  • Alerts and Modals - Interface for requesting and checking system permissions.
  • User Permissions - Swift-based permission management with multiple UI styles.

Star history

Star history chart for ivanvorobei/sppermissionsStar history chart for ivanvorobei/sppermissions

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to SPPermissions

Similar open-source projects, ranked by how many features they share with SPPermissions.
  • sparrowcode/permissionskitsparrowcode avatar

    sparrowcode/PermissionsKit

    5,815View on GitHub↗

    Universal API for request permission and get its statuses.

    Swift
    View on GitHub↗5,815
  • zoontek/react-native-permissionszoontek avatar

    zoontek/react-native-permissions

    4,370View on GitHub↗

    react-native-permissions is a cross-platform permissions library that provides a unified interface for requesting and checking system permissions across iOS, Android, and Windows. It functions as a permission status manager and device capability auditor to determine if access to sensitive data or hardware is granted, denied, or blocked. The project includes a media access controller to handle limited access to photos and contacts through system-native pickers. It also features a system settings integrator that directs users to device settings pages to manually toggle application and notificat

    Objective-C++authorizationpermissionsreact
    View on GitHub↗4,370
  • karumi/dexterKarumi avatar

    Karumi/Dexter

    5,199View on GitHub↗

    Dexter is a Java library and wrapper for managing runtime system permissions on Android. It simplifies the process of requesting permissions from users by reducing the boilerplate code required in activities and fragments, providing a callback system to handle granted and denied states. The library includes a handler for displaying rationale explanations to users when dangerous permissions are denied or require further justification. It also provides automated response mechanisms, such as triggering user interface elements when a permission request is rejected. The project covers error detec

    Javaandroidandroid-librarypermissions
    View on GitHub↗5,199
  • google/accompanistgoogle avatar

    google/accompanist

    7,824View on GitHub↗

    Accompanist is a collection of extension libraries that provide additional functionality and specialized components for the Jetpack Compose UI framework. It serves as a toolkit for implementing common layout and system tasks that extend the core capabilities of declarative UI development on Android. The library provides specialized utilities for managing modal bottom sheet destinations and defining custom animations for screen transitions within a navigation graph. It includes tools for detecting screen folds and display features to create adaptive layouts that adjust based on window size and

    Kotlinandroid-libraryjetpack-compose
    View on GitHub↗7,824
See all 30 alternatives to SPPermissions→

Frequently asked questions

What does ivanvorobei/sppermissions do?

SPPermissions is a Swift library that centralizes permission status checks and request flows across iOS and macOS system services. It provides a unified API for checking the current authorization state of any system permission and requesting access through the appropriate system dialog, all through a single interface.

What are the main features of ivanvorobei/sppermissions?

The main features of ivanvorobei/sppermissions are: iOS Permission Request APIs, Permission Enum Abstractions, Swift Permission Managers, iOS Authorization Status Checkers, System Permission Status Checks, Permission Request Workflows, Authorization Status Queries, iOS Permission Lifecycles.

What are some open-source alternatives to ivanvorobei/sppermissions?

Open-source alternatives to ivanvorobei/sppermissions include: sparrowcode/permissionskit — Universal API for request permission and get its statuses. zoontek/react-native-permissions — react-native-permissions is a cross-platform permissions library that provides a unified interface for requesting and… permissions-dispatcher/permissionsdispatcher — PermissionsDispatcher is a declarative Android API and runtime permission manager. It provides a structured system for… googlesamples/easypermissions — Easypermissions is a library and wrapper for managing Android runtime permissions. It serves as a tool for requesting… karumi/dexter — Dexter is a Java library and wrapper for managing runtime system permissions on Android. It simplifies the process of… google/accompanist — Accompanist is a collection of extension libraries that provide additional functionality and specialized components…