ios - CLLocationManager requestWhenInUseAuthorization() 无法使用 swift 2.0 在 ios7 上工作

标签 ios swift

我正在使用 swift 2.0 和一个部署目标为 7.0 的项目。当我使用

location.requestAlwaysAuthorization()

错误被抛出。而且我知道 ios 7 不存在这种特殊方法。我的问题是..如果我添加

@available(ios 8.0 , *)

它会在 ios 7.0 的设备上运行吗?或者只有当设备 >= ios 8.0 时才会处理此特定功能?请帮忙。

最佳答案

仅当设备 >= iOS 8.0 时才会处理特定功能。

if #available(iOS 8, *)
{
    location.requestAlwaysAuthorization()
} 
else
{
    locationManager.startUpdatingLocation()
}

对于在 iOS 8+ 上运行的设备,使用此方法将调用 requestAlwaysAuthorization(),否则它将调用 startUpdatingLocation()

关于ios - CLLocationManager requestWhenInUseAuthorization() 无法使用 swift 2.0 在 ios7 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36032308/

相关文章:

ios - 如何在 UITableViewController 中显示 UIActivityIndi​​catorView?

ios - 为每个 SCNNode 人脸设置不同的图像

Swift 从一个函数返回不同的类型

ios - 当用户点击 UITextView 的键盘完成按钮时如何执行操作

ios - 如何在 IOS 中为通用应用程序添加导航 Controller 到 AppDelegate

ios - 将 UITextField 输入打印到控制台

ios - 在 SwiftUI 中实时更新相对时间

swift - ARKit – 图像相似但颜色不同的图像识别

ios - 出现键盘时如何向上移动 UIScrollView?

ios - Google Analytics SDK iOS 中有哪些事件类别和操作?