PAPermissions alternatives and similar libraries
Based on the "Permissions" category.
Alternatively, view PAPermissions alternatives based on common mentions on social networks and blogs.
-
PermissionScope
Intelligent iOS permissions UI and unified API (Supports Location, Notifications, Camera, Contacts, Calendar, Photos, Microphone, BT, Activity Monitoring, HealthKit and CloudKit). -
SPPermissions
Universal API for request permission and get its statuses. -
RequestPermission
simple permission request with beautiful UI -
ClusterPrePermissions
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). -
AREK
AREK is a clean and easy way to request any kind of iOS permission (with some nifty features 🤖) -
STLocationRequest
Request the Location Services via a 3D 360° flyover MKMapView 🗺 -
ISHPermissionKit
A polite and unified way of asking for permission on iOS -
JLPermissions
An iOS pre-permissions utility that lets developers ask users on their own dialog for calendar, contacts, location, photos, reminders, twitter, push notifications and more, before making the system-based permission request. -
ICanHas
Simplifies iOS user permission requests (location, push notifications, camera, contacts, calendar, photos, etc).
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of PAPermissions or a related project?
README
PAPermissions
PAPermissions is a fully customizable and ready-to-run library to handle permissions through a ViewController
Right now it supports out of the box permissions for:
- Address Book
- Bluetooth
- Calendar
- Camera
- Contacts
- Events
- Location
- Microphone
- Motion Fitness
- Notifications
- Reminders
- Custom
[](./ReadmeResources/PAPermissions1.gif) [](./ReadmeResources/PAPermissions2.gif) [](./ReadmeResources/PAPermissions3.gif)
Compatibility
PAPermissions requires iOS8+, compatible with both Swift 4 and Objective-C based projects
If you are looking for the Swift 2 version of it, please check out the legacy branch If you are looking for the Swift 3 version of it, please check out the legacy branch
Installation
CocoaPods
CocoaPods is a dependency manager for Cocoa projects.
To integrate PAPermissions into your Xcode project using CocoaPods, specify it in your Podfile
:
pod 'PAPermissions'
Then, run the following command:
$ pod install
Manual Installation
Just copy the PAPermissions folder in your project
Run the Example
Clone the repo, cd into Example
:
$ pod install
Or open the project (the blue icon) and copy the PAPermissions folder inside.
Screenshots
It can be used with a plain background color [](./ReadmeResources/Screen1.png)
Or with a background image [](./ReadmeResources/Screen2.png)
How it works
Create a new UIViewController, inherit from PAPermissionsViewController and write:
let microphoneCheck = PAMicrophonePermissionsCheck()
let cameraCheck = PACameraPermissionsCheck()
override func viewDidLoad() {
super.viewDidLoad()
//Custom settings
self.locationCheck.requestAlwaysAuthorization = true
let permissions = [
PAPermissionsItem.itemForType(.microphone, reason: "Required to hear your beautiful voice")!,
PAPermissionsItem.itemForType(.camera, reason: "Required to shoot awesome photos")!]
let handlers = [
PAPermissionsType.microphone.rawValue: self.microphoneCheck,
PAPermissionsType.camera.rawValue: self.cameraCheck]
self.setupData(permissions, handlers: handlers)
self.titleText = "My Awesome App"
self.detailsText = "Please enable the following"
}
That's it!
Anyway you no need to import everything, just remove the unnecessary "check" classes and keep the ones you want to use, you will find them in "Checks" folder.
Contacts
We would love to know if you are using PAPermissions in your app, send an email to [email protected]