CoreLocation的requestLocation方法的替代方法

时间:2019-06-18 06:44:36

标签: ios swift xcode

我有一个IOS应用,我需要用户的当前位置才能发出HTTP请求以获取有关附近位置的数据。由于我只需要一次用户的位置,因此我使用的是CoreLocation requestLocation方法。这样做的问题是大约需要10秒钟(在documentation中有说明)。我意识到总会有一个延迟,但requestLocation上的延迟太长了,破坏了用户体验。

我想知道是否有人想到了一种更及时地获取用户位置的方法(仅一次)。

我想到的一个解决方案可能是在应用程序启动时在AppDelegate中调用该方法,然后将数据通过某个共享库传递给ViewController。我在这里看到的问题是AppDelegate确实非常快速地完成了application:didFinishLaunchingWithOptions:函数,因此我认为它不会改善我的问题

我想到的另一个解决方案可能是使用startUpdatingLocation方法,然后在收到第一个位置后使用stopUpdatingLocation。我的问题是startUpdatingLocation可能还需要几秒钟才能启动(documentation),所以这又可能无法改善我的问题。

我为用户获得的位置不需要非常准确,因此我愿意在精度方面做出牺牲。

0 个答案:

没有答案