A clean and easy-to-use Swift wrapper for requesting and managing iOS permissions with customizable popups.
AREK is a Swift library that provides a clean, configurable wrapper for handling iOS permission requests. It solves the problem of abrupt system permission dialogs by allowing developers to explain why permissions are needed and manage user responses through customizable popups. The library supports over 15 different iOS permission types and helps apps follow Apple's human interface guidelines for privacy.
iOS developers building apps that require multiple system permissions and want to implement user-friendly permission flows with clear explanations and re-engagement options.
Developers choose AREK because it simplifies iOS permission management with a clean API, supports extensive customization of permission dialogs, and helps prevent permanent permission denials through thoughtful user communication—all while being fully compatible with Swift and major dependency managers.
AREK is a clean and easy way to request any kind of iOS permission (with some nifty features 🤖)
Covers 15+ iOS permissions including Camera, Contacts, HealthKit, and more, as detailed in the implemented permissions list.
Implements pre-permission and re-enable popups to explain why permissions are needed and manage user responses, following Apple's human interface guidelines.
Allows customization of popup titles, messages, images, and types (native or PMAlertController) through ArekConfiguration and ArekPopupData structs.
Uses localized string keys for all UI elements, making it straightforward to internationalize permission requests by adding strings to project files.
The TODO list indicates missing features like injecting custom PMAlertController or setting popup type during initialization, limiting advanced UI tweaks.
Requires matching specific versions to Xcode and Swift (e.g., Swift 4.2 for Xcode 10), which can complicate updates and maintenance.
Developers must manually add localized strings for each permission in their project, increasing setup time compared to libraries with built-in defaults.
Universal API for request permission and get its statuses.
Universal API for request permission and get its statuses.
A unified API to ask for permissions on iOS
Cluster's reusable pre-permissions utility that lets developers ask the users on their own dialog for photos or contacts access, before making the system-based request. This is based on the Medium post by Cluster describing the different ways to ask for iOS permissions (https://medium.com/p/96fa4eb54f2c).
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.