let permission = Permission(.Contacts)
支持的权限类型包括以下内容: Contacts
、LocationAlways
、LocationWhenInUse
、Notifications
、Microphone
、Camera
、Photos
、Reminders
、Events
如果您不喜欢默认的提醒,您可以自定义 Sorry
向用户展示的提醒。
permission.configureAlert(.Denied) { alert in
alert.title = "You denied access to your contacts"
alert.message = "Please allow access in the settings app"
alert.cancel = "Cancel"
alert.settings = "Settings"
}
注意:只有具有
Denied
和Disabled
状态的提醒可以被配置。
permission.request { status in
// Do something depending on status
}
状态可以是 Authorized
、Denied
、Disabled
或者 NotDetermined
PermissionButton
在触摸时请求权限,并在权限更改时更新自身。
let button = PermissionButton(.Contacts)
按钮将在权限状态改变时更新自身。
button.setTitle("Authorized", forStatus: .Authorized, andState: .Normal)
button.setTitleColor(UIColor.redColor(), forStatus: .Denied)
// ...
button.configureAlert(.Denied) { alert in
alert.title = "You denied access to your contacts"
}
class PermissionsViewController: UIViewController, PermissionSetDelegate {
override func viewDidLoad() {
let photos = PermissionButton(.Photos)
let events = PermissionButton(.Events)
let camera = PermissionButton(.Camera)
// ...
let permissionSet = PermissionSet(photos, events, camera)
permissionSet.delegate = self
}
func permissionSet(permissionSet: PermissionSet, didRequestPermission permission: Permission) {
if permissionSet.status == .Authorized {
dismissViewControllerAnimated(true, completion: nil)
}
}
}
版权 © 2015 Damien (http://delba.io)
特此允许,免费地向任何获得此软件及其相关文档文件(“软件”)副本的人提供服务,在不限制包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供者这样做的人,受以下条件约束
上述版权声明和本许可声明应包括在软件的所有副本或实质性部分中。
本软件按“原样”提供,不提供任何形式的保证,无论是明示的、默示的或法律规定的,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权所有者不对任何要求、损害或其他责任承担责任,无论是基于合同行为、侵权行为或其他行为,与软件或软件的使用或其他方式相关。