Welcome to Grant's comprehensive documentation!
New to Grant? Start here!
- Quick Start Guide - Get running in 5 minutes
- Quick Start (iOS) - iOS-specific setup
- iOS Setup in Android Studio - Complete iOS setup guide
Learn how to use Grant effectively
- Permission Types - All supported permissions
- Service Checking - GPS, Bluetooth services
- Compose Integration - Compose support
- Best Practices - Production patterns
- Migration Guide - NEW in v1.0.1 - Migrate from moko-permissions, Accompanist, or custom implementations
Copy-paste solutions for common patterns
- Location Permission + GPS Check - Complete location flow with service checking
- Skip the Prompt When Already Granted - Observe
GrantHandler.statusto go straight to the feature without re-prompting
Understanding Grant's design
- Architecture Overview - System design and patterns
- GrantStore System - State management, persistence, backup rules
⚠️ - Transparent Activity Guide - Android transparent activity pattern
- Dead Click Fix - Fixing Android 12+ dead clicks
- Transparent Activity Guide - Android transparent activity pattern
- Info.plist Setup -
⚠️ CRITICAL - App crashes if keys missing - Simulator Limitations - iOS simulator restrictions
- Android Studio Setup - Complete iOS setup guide
- Info.plist Localization - Localizing permission messages
- Testing Guide - Unit testing with FakeGrantManager
- Dependency Management - Handling version conflicts
- Custom GrantStore - State management and persistence options
- Grant vs moko-permissions - Feature comparison
"I want to request Camera permission" → Quick Start
"Android 13+ dead clicks" → Dead Click Fix
"Check if GPS enabled" → Service Checking
"Location permission + GPS check flow" → Location Recipe
"Coming from moko-permissions or other libraries" → Migration Guide - Step-by-step migration with code examples
"App crashes on iOS when requesting permission"
"Need persistence across app restarts" → GrantStore Architecture
"Disable logs for production"
→ GrantLogger.isEnabled = false