避免在应用程序处于后台时使用位置

avoid using location while app is in the background

我正在使用 google google places api 或 iOS 应用程序,想知道如何避免要求允许 "always on" 位置(NSLocationAlwaysUsageDescription)。我不认为我的应用程序需要在后台访问该位置(有理由吗?)

我的 google 地方 api 调用在 viewDidLoad 的回调中。我应该把它放在其他地方以便只请求较少侵入性的权限吗?

谢谢

CLLocationManager 上有 2 种请求位置访问的方法。要在应用处于 运行 时请求位置访问权限,您需要调用 requestWhenInUseAuthorization.

例如:

let locationManager = CLLocationManager()
locationManager.requestWhenInUseAuthorization()

我假设您正在关注此 guide,它显示的位置访问权限如下:

locationManager.requestAlwaysAuthorization()

该方法确实请求访问始终使用您设备的位置,即使应用程序在后台也是如此。

希望对您有所帮助!