我有一个IOS应用,我需要用户的当前位置才能发出HTTP请求以获取有关附近位置的数据。由于我只需要一次用户的位置,因此我使用的是CoreLocation requestLocation
方法。这样做的问题是大约需要10秒钟(在documentation中有说明)。我意识到总会有一个延迟,但requestLocation
上的延迟太长了,破坏了用户体验。
我想知道是否有人想到了一种更及时地获取用户位置的方法(仅一次)。
我想到的一个解决方案可能是在应用程序启动时在AppDelegate中调用该方法,然后将数据通过某个共享库传递给ViewController。我在这里看到的问题是AppDelegate确实非常快速地完成了application:didFinishLaunchingWithOptions:
函数,因此我认为它不会改善我的问题
我想到的另一个解决方案可能是使用startUpdatingLocation
方法,然后在收到第一个位置后使用stopUpdatingLocation
。我的问题是startUpdatingLocation
可能还需要几秒钟才能启动(documentation),所以这又可能无法改善我的问题。
我为用户获得的位置不需要非常准确,因此我愿意在精度方面做出牺牲。