RxPermission 1.0.0

RxPermission 1.0.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新版本2017年1月
SwiftSwift 版本3.0
SPM支持 SPM

Sunshinejr 维护。



RxPermission

RxSwiftPermission API 绑定,帮助您在 iOS 中处理权限。

安装

RxPermission 可通过 CocoaPods 获取。我无法保证它在 Carthage 上的正确工作,所以如果您愿意帮助,我很乐意通过您的 PR 引入。

RxPermission 应该与每个 Swift 版本 2.2 及以上兼容,详细信息请查看以下说明。

Swift 3.0

如果您想使用 Swift 3.0 与 RxPermission,由于苹果的新权限政策,您必须指定您想安装/使用的权限。例如,如果您想访问相机和通知,您可以定义以下内容

pod 'RxPermission/Camera'
pod 'RxPermission/Notifications'

可用规范

pod 'RxPermission/AddressBook'
pod 'RxPermission/Bluetooth'
pod 'RxPermission/Camera'
pod 'RxPermission/Contacts'
pod 'RxPermission/Events'
pod 'RxPermission/Location'
pod 'RxPermission/Microphone'
pod 'RxPermission/Motion'
pod 'RxPermission/Notifications'
pod 'RxPermission/Photos'
pod 'RxPermission/Reminders'
pod 'RxPermission/SpeechRecognizer'
pod 'RxPermission/MediaLibrary'

Swift 3.0 以下

安装它,只需在您的 Podfile 中添加以下行

pod "RxPermission", "~> 0.2"

您还需要注意 Info.plist 消息,因为否则苹果不会接受您的应用程序在 App Store 上。

使用

RxPermission 生成一个 rx_permission 可观察对象,您可以在其中订阅以接收信号。

示例代码

Permission
    .Contacts
    .rx.permission
    .subscribeNext { status in
        print("Status: \(status)")
    }
    .addDisposableTo(disposeBag)

可用权限

public enum PermissionType {
    case addressBook
    case bluetooth
    case camera    
    case contacts
    case events
    case motion
    case microphone
    case notifications
    case photos
    case reminders
    case locationAlways
    case locationWhenInUse
    case mediaLibrary
    case speechRecognizer
}

可用状态

public enum PermissionStatus {
    case authorized
    case denied
    case disabled
    case notDetermined
}

有关权限和状态的更多信息,请访问 Permission 的 README

示例

要运行示例项目,请克隆仓库,然后首先从 Example 目录中运行 pod install

作者

阳光君,[email protected]@thesunshinejr

许可证

RxPermission可在MIT许可证下使用。更多信息请参阅LICENSE文件。