Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. ISHPermissionKit

ISHPermissionKit

NOASSERTIONObjective-C2.1.2

A unified iOS framework for requesting user permissions with custom UI and sequential prompts.

Visit WebsiteGitHubGitHub
614 stars46 forks0 contributors

What is ISHPermissionKit?

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.

Target Audience

iOS developers building apps that require multiple sensitive permissions, especially those needing fine-grained control over permission request timing, sequencing, and user interface.

Value Proposition

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.

Overview

A polite and unified way of asking for permission on iOS

Use Cases

Best For

  • Onboarding flows that require multiple permissions at app launch
  • Apps needing to explain why permissions are required before showing system dialogs
  • Implementing permission request sequences (e.g., location then motion for fitness apps)
  • Maintaining custom UI/UX design while handling permission requests
  • Ensuring App Store compliance by excluding unused permission code
  • Supporting older iOS versions while using newer permission APIs

Not Ideal For

  • Apps needing only simple, out-of-the-box permission dialogs without custom UI
  • Projects built exclusively with SwiftUI preferring native permission handling
  • Teams requiring real-time permission state monitoring without manual implementation
  • Small apps with minimal permissions where the framework's setup overhead isn't justified

Pros & Cons

Pros

Full UI Customization

Developers provide their own view controllers for permission explanations, maintaining complete design control without imposed styles, as emphasized in the philosophy.

Sequential Request Handling

Supports asking for multiple permissions in a sequence, ideal for complex onboarding flows like fitness apps that need location and motion data together.

Build-Time Safety

Uses preprocessor flags to include only needed permissions, preventing App Store rejections for unused sensitive code, a key feature highlighted in the installation section.

Broad iOS Compatibility

Compiles with iOS 11 SDK but deploys back to iOS 9, automatically skipping unsupported categories on older versions, ensuring wider device support.

Cons

Complex Setup Process

Requires manual configuration with .xcconfig files and build flags, which can be error-prone and time-consuming compared to simpler dependency managers.

Incomplete Feature Set

The roadmap admits missing features like resetting state correctly and permission monitoring with NSNotifications, limiting dynamic permission management.

UIKit-Centric Design

Heavily relies on UIKit view controllers, making integration with SwiftUI projects cumbersome and less idiomatic for modern iOS development.

Frequently Asked Questions

Quick Stats

Stars614
Forks46
Contributors0
Open Issues8
Last commit5 years ago
CreatedSince 2014

Tags

#ios#objective-c#ui-framework#mobile-development#cocoapods#swift#permissions#carthage

Built With

C
Carthage
O
Objective-C
C
CocoaPods
i
iOS SDK

Links & Resources

Website

Included in

iOS51.7k
Auto-fetched 11 hours ago

Related Projects

SPPermissionsSPPermissions

Universal API for request permission and get its statuses.

Stars5,814
Forks481
Last commit1 year ago
PermissionPermission

A unified API to ask for permissions on iOS

Stars2,890
Forks321
Last commit4 years ago
ClusterPrePermissionsClusterPrePermissions

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).

Stars1,188
Forks103
Last commit9 years ago
AREKAREK

AREK is a clean and easy way to request any kind of iOS permission (with some nifty features 🤖)

Stars949
Forks61
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub