Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
React Native Image Picker | 8,043 | 1,614 | 178 | 9 days ago | 186 | August 25, 2022 | 204 | mit | Java | |
: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. | ||||||||||
Permissionskit | 5,213 | 2 | a month ago | 67 | November 01, 2021 | 5 | mit | Swift | ||
Universal API for request permission and get its statuses. | ||||||||||
Easyimage | 1,564 | 2 years ago | 71 | Kotlin | ||||||
Library for picking pictures from gallery or camera | ||||||||||
Digicamcontrol | 582 | 1 | 4 months ago | 5 | August 29, 2018 | 116 | other | C# | ||
DSLR camera remote control open source software | ||||||||||
React Native Twilio Video Webrtc | 572 | 8 | a month ago | 4 | February 13, 2022 | 177 | mit | Java | ||
Twilio Video (WebRTC) for React Native | ||||||||||
Unitynativecamera | 474 | 8 days ago | 18 | mit | C# | |||||
A native Unity plugin to take pictures/record videos with device camera on Android & iOS | ||||||||||
Magicalcamera | 319 | 4 years ago | 5 | apache-2.0 | Java | |||||
A library to take picture easy, transform your data in different format and save photos in your device | ||||||||||
Study | 315 | 2 years ago | 5 | Kotlin | ||||||
记录学习过程中的demo及博客 | ||||||||||
Android Hidden Camera | 312 | 5 years ago | 32 | apache-2.0 | Java | |||||
This library is to take picture using camera without camera preview. | ||||||||||
Flutterqrscanner App | 196 | 3 years ago | 8 | Ruby | ||||||
Universal API for request permission and get its statuses. Available .authorized
, .denied
& .notDetermined
.
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 |
Ready to use on iOS 11+. Supports iOS, tvOS and SwiftUI
.
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.
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 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'
import PermissionsKit
import NotificationPermission
Permission.notification.request {
}
import PermissionsKit
import NotificationPermission
let authorized = Permission.notification.authorized
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.
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";
If you use a PermissionsKit
, add your application via Pull Request.