Permissionskit

Universal API for request permission and get its statuses.
Alternatives To Permissionskit
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
React Native Image Picker8,0431,6141789 days ago186August 25, 2022204mitJava
:sunrise_over_mountains: A React Native module that allows you to use native UI to select media from the device library or directly from the camera.
Permissionskit5,213
2a month ago67November 01, 20215mitSwift
Universal API for request permission and get its statuses.
Easyimage1,564
2 years ago71Kotlin
Library for picking pictures from gallery or camera
Digicamcontrol582
14 months ago5August 29, 2018116otherC#
DSLR camera remote control open source software
React Native Twilio Video Webrtc572
8a month ago4February 13, 2022177mitJava
Twilio Video (WebRTC) for React Native
Unitynativecamera474
8 days ago18mitC#
A native Unity plugin to take pictures/record videos with device camera on Android & iOS
Magicalcamera319
4 years ago5apache-2.0Java
A library to take picture easy, transform your data in different format and save photos in your device
Study315
2 years ago5Kotlin
记录学习过程中的demo及博客
Android Hidden Camera312
5 years ago32apache-2.0Java
This library is to take picture using camera without camera preview.
Flutterqrscanner App196
3 years ago8Ruby
Alternatives To Permissionskit
Select To Compare


Alternative Project Comparisons
Readme

PermissionsKit

Universal API for request permission and get its statuses. Available .authorized, .denied & .notDetermined.

Community

Navigate

Permissions

Icon Permission Key for Info.plist Get Status Make Request
Bluetooth NSBluetoothAlwaysUsageDescription, NSBluetoothPeripheralUsageDescription
Calendar NSCalendarsUsageDescription
Camera NSCameraUsageDescription
Contacts NSContactsUsageDescription
FaceID NSFaceIDUsageDescription
Health NSHealthUpdateUsageDescription, NSHealthShareUsageDescription
Location Always NSLocationAlwaysAndWhenInUseUsageDescription
Location When In Use NSLocationWhenInUseUsageDescription
Media Library NSAppleMusicUsageDescription
Microphone NSMicrophoneUsageDescription
Motion NSMotionUsageDescription
Notification
Photo Library NSPhotoLibraryUsageDescription, NSPhotoLibraryAddUsageDescription
Reminders NSRemindersUsageDescription
Siri NSSiriUsageDescription
Speech Recognizer NSSpeechRecognitionUsageDescription
Tracking NSUserTrackingUsageDescription

Installation

Ready to use on iOS 11+. Supports iOS, tvOS and SwiftUI.

Swift Package Manager

In Xcode go to Project -> Your Project Name -> Package Dependencies -> Tap Plus. Insert url:

https://github.com/sparrowcode/PermissionsKit

Next, choose the permissions you need. But don't add all of them, because apple will reject app. Or adding it to the dependencies of your Package.swift:

dependencies: [
    .package(url: "https://github.com/sparrowcode/PermissionsKit", .upToNextMajor(from: "9.0.0"))
]

and choose valid targets.

CocoaPods:

This is an outdated way of doing things. I advise you to use SPM. However, I will continue to support Cocoapods for some time.

Cocoapods Instalation

CocoaPods is a dependency manager. For usage and installation instructions, visit their website. To integrate using CocoaPods, specify it in your Podfile:

pod 'PermissionsKit/NotificationPermission', :git => 'https://github.com/sparrowcode/PermissionsKit'

Due to Apple's new policy regarding permission access you need to specifically define what kind of permissions you want to access using subspecs.

pod 'PermissionsKit/CameraPermission', :git => 'https://github.com/sparrowcode/PermissionsKit'
pod 'PermissionsKit/ContactsPermission', :git => 'https://github.com/sparrowcode/PermissionsKit'
pod 'PermissionsKit/CalendarPermission', :git => 'https://github.com/sparrowcode/PermissionsKit'
pod 'PermissionsKit/PhotoLibraryPermission', :git => 'https://github.com/sparrowcode/PermissionsKit'
pod 'PermissionsKit/NotificationPermission', :git => 'https://github.com/sparrowcode/PermissionsKit'
pod 'PermissionsKit/MicrophonePermission', :git => 'https://github.com/sparrowcode/PermissionsKit'
pod 'PermissionsKit/RemindersPermission', :git => 'https://github.com/sparrowcode/PermissionsKit'
pod 'PermissionsKit/SpeechRecognizerPermission', :git => 'https://github.com/sparrowcode/PermissionsKit'
pod 'PermissionsKit/LocationWhenInUsePermission', :git => 'https://github.com/sparrowcode/PermissionsKit'
pod 'PermissionsKit/LocationAlwaysPermission', :git => 'https://github.com/sparrowcode/PermissionsKit'
pod 'PermissionsKit/MotionPermission', :git => 'https://github.com/sparrowcode/PermissionsKit'
pod 'PermissionsKit/MediaLibraryPermission', :git => 'https://github.com/sparrowcode/PermissionsKit'
pod 'PermissionsKit/BluetoothPermission', :git => 'https://github.com/sparrowcode/PermissionsKit'
pod 'PermissionsKit/TrackingPermission', :git => 'https://github.com/sparrowcode/PermissionsKit'
pod 'PermissionsKit/FaceIDPermission', :git => 'https://github.com/sparrowcode/PermissionsKit'
pod 'PermissionsKit/SiriPermission', :git => 'https://github.com/sparrowcode/PermissionsKit'
pod 'PermissionsKit/HealthPermission', :git => 'https://github.com/sparrowcode/PermissionsKit'

Request Permission

import PermissionsKit
import NotificationPermission

Permission.notification.request {
    
}

Status Permission

import PermissionsKit
import NotificationPermission

let authorized = Permission.notification.authorized

Keys in Info.plist

You need to add some keys to the Info.plist file with descriptions, per Apple's requirements. You can get a plist of keys for permissions as follows:

let key = Permission.bluetooth.usageDescriptionKey

Warning Do not use the description as the name of the key.

Localisation

If you use xliff localization export, keys will be create automatically. If you prefer do the localization file manually, you need to create InfoPlist.strings, select languages on the right side menu and add keys as keys in plist-file. See:

"NSCameraUsageDescription" = "Here description of usage camera";

Apps Using

If you use a PermissionsKit, add your application via Pull Request.

Popular Permission Projects
Popular Camera Projects
Popular Security Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Camera
Xcode
Location
Permissions
Calendar
Dialog
Wizard
Photo Gallery