RxSwift bindings for Permission API that helps you with Permissions in iOS.
RxPermission is available through CocoaPods. 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.
If you want to use RxPermission with Swift 3.0, as of now you have to use these lines below in your Podfile to have it working (while waiting for the official release of Permission and RxSwift):
pod 'RxPermission', '1.0.0-beta.1'
pod 'Permission', :git => 'https://github.com/delba/Permission', :branch => 'swift-3.0'
pod 'RxSwift', :git => 'https://github.com/ReactiveX/RxSwift'
To install it, simply add the following line to your Podfile:
pod "RxPermission", "~> 0.2"
RxPermission makes a rx_permission
Observable that you can subscribe in order to receive signals.
Permission
.Contacts
.rx_permission
.subscribeNext { status in
print("Status: \(status)")
}
.addDisposableTo(disposeBag)
public enum PermissionType {
case Contacts
case LocationAlways
case LocationWhenInUse
case Notifications
case Microphone
case Camera
case Photos
case Reminders
case Events
case Bluetooth
case Motion
}
public enum PermissionStatus {
case Authorized
case Denied
case Disabled
case NotDetermined
}
For more info about permissions and statuses, please visit Permission's README.
To run the example project, clone the repo, and run pod install
from the Example directory first.
Sunshinejr, [email protected], @thesunshinejr
RxPermission is available under the MIT license. See the LICENSE file for more info.