self.locationManager.requestAlwaysAuthorization()仅适用于iOS 8.0或更高版本 - Swift

时间:2016-01-27 08:06:03

标签: ios swift ios7.1

我正在swift中开发一个简单的ios应用程序,它可以获取用户的位置并显示位置。我需要将此应用程序设置为目标ios 7.0及更高版本,以便iPhone 4用户可以使用此应用程序。但是,当我设置 Deployment Target7.0我收到了构建错误:

  

/Users/toing_toing/dev/xyz/HomePageViewController.swift:35:30:   ' requestAlwaysAuthorization()'仅适用于iOS 8.0或更高版本

它来自这一行:

self.locationManager.requestAlwaysAuthorization()

我现在需要该应用程序一直访问GPS,但我找不到替代代码来修复部署目标错误。我该怎么办?

1 个答案:

答案 0 :(得分:1)

只需使用self.locationManager.startUpdatingLocation()

即可
var authorizationStatus = CLLocationManager.authorizationStatus()
if (authorizationStatus == .AuthorizedWhenInUse || authorizationStatus == .AuthorizedAlways {
  locationManager.startUpdatingLocation()
}else if self.locationManager.respondsToSelector(Selector("requestAlwaysAuthorization")) {
   self.locationManager.requestAlwaysAuthorization()
}else {
   locationManager.startUpdatingLocation()
}