A unified Swift API to request iOS permissions with a clean interface and customizable alerts.
Permission is a Swift library that provides a unified API for requesting iOS system permissions. It simplifies handling various permission types like Camera, Contacts, Location, and Photos through a consistent interface, reducing boilerplate code and improving developer experience. The library helps iOS developers manage permission requests and status checks in a clean, maintainable way.
iOS developers building apps that require access to system resources like camera, contacts, location, or photos. Particularly useful for developers who want to simplify permission handling across multiple permission types.
Developers choose Permission because it provides a clean, unified API that abstracts away the complexity of different iOS permission systems. Its customizable alerts, status management, and UI components save development time while ensuring proper permission handling that meets App Store guidelines.
A unified API to ask for permissions on iOS
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a single, consistent interface for requesting all major iOS permissions, reducing boilerplate code and simplifying development across types like Camera, Contacts, and Location.
Offers configurable pre-permission, denied, and disabled alerts with customizable text, allowing developers to guide users effectively and avoid burning system alert chances.
Enables grouping multiple permissions together and monitoring their collective status with delegate callbacks, useful for coordinated permission handling in complex apps.
Includes a UIButton subclass that automatically updates its appearance based on permission status changes, saving time on manual UI updates and state management.
Requires setting up a custom xcconfig file to enable only needed permissions, adding setup complexity to avoid App Store rejection risks, as detailed in the Installation section.
Last updated in 2019, which may mean it lacks support for newer iOS features or permissions, and has few third-party extensions beyond RxPermission.
Primarily built for UIKit, with PermissionButton as a UIButton subclass, making integration with modern SwiftUI apps more challenging without additional bridging.