Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sunshinejr/RxPermission
RxSwift bindings for Permissions API in iOS.
https://github.com/sunshinejr/RxPermission
permission rxpermissions rxswift swift
Last synced: about 2 months ago
JSON representation
RxSwift bindings for Permissions API in iOS.
- Host: GitHub
- URL: https://github.com/sunshinejr/RxPermission
- Owner: sunshinejr
- License: mit
- Archived: true
- Created: 2016-04-16T19:45:38.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-12-01T07:57:39.000Z (about 7 years ago)
- Last Synced: 2024-11-30T19:41:32.702Z (about 2 months ago)
- Topics: permission, rxpermissions, rxswift, swift
- Language: Swift
- Homepage:
- Size: 55.7 KB
- Stars: 226
- Watchers: 12
- Forks: 44
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: Changelog.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios-star - RxPermission - RxSwift bindings for Permissions API in iOS. (Reactive Programming / Prototyping)
- awesome-rxswift - RxPermission
- awesome-ios - RxPermission - RxSwift bindings for Permissions API in iOS. (Reactive Programming / Prototyping)
README
# RxPermission
[![CocoaPods](https://img.shields.io/cocoapods/v/RxPermission.svg)](https://github.com/sunshinejr/RxPermission)
![Swift 3.0.x](https://img.shields.io/badge/Swift-3.0.x-orange.svg)
[![License](https://img.shields.io/cocoapods/l/RxPermission.svg?style=flat)](http://cocoapods.org/pods/RxPermission)
[![Platform](https://img.shields.io/cocoapods/p/RxPermission.svg?style=flat)](http://cocoapods.org/pods/RxPermission)[RxSwift](https://github.com/ReactiveX/RxSwift) bindings for [Permission](https://github.com/delba/Permission) API that helps you with Permissions in iOS.
## Installation
RxPermission is available through [CocoaPods](http://cocoapods.org). I can't
guarantee it is working correctly on Carthage, so if you want to help I'm happy
to introduce it with your PR.RxPermission should work with every Swift release >= 2.2, for detailed
instructions check info below.## Swift 3.0
If you want to use RxPermission with Swift 3.0 you have to specify which
Permission you want to install/use because of new Apple policy about permission.
For example if you want to access the Camera and the Notifications you define the following:
```
pod 'RxPermission/Camera'
pod 'RxPermission/Notifications'
```Available specs:
```
pod 'RxPermission/AddressBook'
pod 'RxPermission/Bluetooth'
pod 'RxPermission/Camera'
pod 'RxPermission/Contacts'
pod 'RxPermission/Events'
pod 'RxPermission/Location'
pod 'RxPermission/MediaLibrary'
pod 'RxPermission/Microphone'
pod 'RxPermission/Motion'
pod 'RxPermission/Notifications'
pod 'RxPermission/Photos'
pod 'RxPermission/Reminders'
pod 'RxPermission/Siri'
pod 'RxPermission/SpeechRecognizer'
```## Below Swift 3.0
To install it, simply add the following line to your Podfile:
```ruby
pod "RxPermission", "~> 0.2"
```You need to also take care of Info.plist messages because otherwise Apple won't
accept the app in App Store.## Usage
RxPermission makes a `rx.permission` Observable that you can subscribe in order to receive signals.
### Sample code
```swift
Permission
.contacts
.rx.permission
.subscribe(onNext: { status in
print("Status: \(status)")
})
.addDisposableTo(disposeBag)
```### Available permissions:
```swift
public enum PermissionType {
case addressBook
case bluetooth
case camera
case contacts
case events
case locationAlways
case locationWhenInUse
case mediaLibrary
case microphone
case motion
case notifications
case photos
case reminders
case siri
case speechRecognizer
}
```### Available statuses:
```swift
public enum PermissionStatus {
case authorized
case denied
case disabled
case notDetermined
}
```For more info about permissions and statuses, please visit [Permission's README](https://github.com/delba/Permission#permission).
## Example
To run the example project, clone the repo, and run `pod install` from the Example directory first.
## Author
Sunshinejr, [email protected], @thesunshinejr
## License
RxPermission is available under the MIT license. See the LICENSE file for more info.