这可能是一个简单的问题。 我使用Reactive Location来获取用户的当前位置,请找到我的以下代码,
ReactiveLocation.authorizeAction.apply(.whenInUse).startWithResult {
switch $0 {
case let .success(status):
print("Current user permission status on WhenInUse is \(status)")
case let .failure(error):
print(error.localizedDescription)
}
}
此处错误为 .restricted 和 .denied ,我希望根据错误向用户显示错误消息。如何识别它。
在上面的代码中,完成块看起来像这样,
请帮我解决这个问题。
答案 0 :(得分:0)
我建议您详细了解Swift enum
。
您可以检查.restricted
和.denied
,方法与检查.success
和.failure
的方式相同。
唯一的区别是LocationAuthorizationError
没有关联的值。
ReactiveLocation.authorizeAction.apply(.whenInUse).startWithResult {
switch $0 {
case let .success(status):
print("Current user permission status on WhenInUse is \(status)")
case let .failure(actionError):
switch actionError {
case .producerFailed(.restricted):
print("Authorization Restricted")
case .producerFailed(.denied):
print("Authorization Denied")
default:
break
}
}
}