A unified iOS framework for requesting user permissions with custom UI and sequential prompts.
ISHPermissionKit is an iOS framework that provides a unified and polite way to request user permissions for accessing sensitive data and device features like location, contacts, photos, and health data. It solves the problem of abrupt system permission dialogs by allowing developers to present custom explanatory UI first, improving user understanding and acceptance rates.
iOS developers building apps that require multiple sensitive permissions, especially those needing fine-grained control over permission request timing, sequencing, and user interface.
Developers choose ISHPermissionKit because it offers a complete solution for permission management with custom UI support, sequential requests, and build-time safety features that prevent App Store rejections, all through a consistent API across all iOS permission types.
A polite and unified way of asking for permission 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.
Developers provide their own view controllers for permission explanations, maintaining complete design control without imposed styles, as emphasized in the philosophy.
Supports asking for multiple permissions in a sequence, ideal for complex onboarding flows like fitness apps that need location and motion data together.
Uses preprocessor flags to include only needed permissions, preventing App Store rejections for unused sensitive code, a key feature highlighted in the installation section.
Compiles with iOS 11 SDK but deploys back to iOS 9, automatically skipping unsupported categories on older versions, ensuring wider device support.
Requires manual configuration with .xcconfig files and build flags, which can be error-prone and time-consuming compared to simpler dependency managers.
The roadmap admits missing features like resetting state correctly and permission monitoring with NSNotifications, limiting dynamic permission management.
Heavily relies on UIKit view controllers, making integration with SwiftUI projects cumbersome and less idiomatic for modern iOS development.