测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最新版本 | 2017年1月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Sunshinejr 维护。
RxSwift 的 Permission API 绑定,帮助您在 iOS 中处理权限。
RxPermission 可通过 CocoaPods 获取。我无法保证它在 Carthage 上的正确工作,所以如果您愿意帮助,我很乐意通过您的 PR 引入。
RxPermission 应该与每个 Swift 版本 2.2 及以上兼容,详细信息请查看以下说明。
如果您想使用 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'
安装它,只需在您的 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文件。