An iOS utility that lets developers ask for permissions with custom dialogs before showing the system prompt.
ClusterPrePermissions is an iOS library that helps developers request sensitive permissions more effectively by showing custom explanatory dialogs before the system permission prompt. It solves the problem where users accidentally deny system permission requests, which permanently blocks app access to features like photos or contacts. The library wraps existing permission-checking code with a configurable pre-permission alert to improve acceptance rates.
iOS developers building apps that require access to photos, camera, microphone, contacts, events, or location. Particularly useful for apps where permanent permission denial would severely impact functionality.
Developers choose ClusterPrePermissions because it dramatically reduces permanent permission denials—at Cluster, 46% of users who denied the pre-permission dialog later granted access. It provides a simple, reusable way to improve user experience without confusing users with double prompts.
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.
Allows developers to show custom UI explaining permission needs before the system alert, based on Cluster's blog post about improving acceptance rates by 46% for photo permissions.
Supports six key iOS permissions including photo library, camera, and location, as listed in the README under 'Supported permissions'.
Developers can customize alert titles, messages, and button text to match app branding, as shown in the usage example with showPhotoPermissionsWithTitle.
Provides completion handlers with parameters like hasPermission, userDialogResult, and systemDialogResult for precise handling of permission outcomes.
Requires including usage descriptions for all supported frameworks in Info.plist, even if not used, as noted in the update about Apple's review guidelines, which can lead to bloated configurations.
Only covers six specific permissions; doesn't support newer iOS permissions like health data or Siri, limiting its use for modern apps with diverse needs.
Primarily designed for Objective-C with no native Swift support mentioned, making it less appealing for Swift-centric projects without bridging overhead.