2014-09-24 53 views
2

IOS8中的重要位置更新是否需要在LocationManager上调用“始终请求授权”? requestWhenInUseAuthorization在使用SLC时似乎不够用,即使应用程序只在前台运行。即,didUpdateLocation永远不会被调用。对我没有任何意义。有其他人遇到过这个问题吗?IOS8中的重要位置更改

谢谢!

回答

1

您必须请求始终授权。这是requestWhenInUseAuthorization下的讨论部分它说documented

的应用不能使用任何服务,自动重新启动应用程序,例如 的区域监控或显著位置变更服务

意义位置的变化可以在不使用时启动应用程序,这需要始终权限。

+0

谢谢,这是我认为可能是问题。但对我来说这似乎是一个奇怪的方法。因为SLC是获取用户位置的最节能的方式,但需要最高级别的授权。我认为苹果公司正在用这个限制来抨击他们自己。 – emillamm 2014-09-24 21:28:54

+0

除非您希望应用程序在用户不在应用程序中时由系统启动,否则不需要SLC。如果您只是在应用程序运行时监控位置,则可以连续运行CLLocationManager,并将精度设置为3000m,以获得相同的电池友好结果。 – progrmr 2014-09-25 02:58:07

+0

我怀疑它会是电池友好的,因为它激活GPS而不是使用蜂窝/无线信号。如我错了请纠正我。 – emillamm 2014-09-25 14:02:58