在iOS Swift中获取用户当前城市,州和国家/地区的最佳方法是什么?

时间:2019-10-29 06:56:17

标签: ios swift clgeocoder

我知道我可以使用CLGeocoder来获取用户的位置,例如位置,行政区域和国家。我仅在登录到我的应用程序时需要此信息(城市,州和国家/地区)。我不想让我的用户打开定位服务。我见过像Binance这样的应用程序,他们在不打开用户位置的情况下获取城市,州和国家/地区的信息。

1 个答案:

答案 0 :(得分:1)

访问用户位置的最佳方法是通过CLGeocoder,因为它是最可靠的来源。这是获得最准确位置的唯一方法。鉴于您不想使用它们,因此选择范围有限。

最好的选择是实际上让用户以一种无害的方式选择自己的位置。但这不能保证能成功返回您的请求。

您也可以使用NSLocaletime zone,但它们不可靠,因为它们取决于用户的设置。

我认为您最好的选择是尝试通过IP访问用户的位置。因此,请使用GeoIP

对Web服务请求的IP地址进行反向地理编码

我附上了我在下面找到的一些链接,请看一下,希望它对您有用。 您也可以看看Maximinds GeoIP Api。可能有用

How to get an Ip address programatically

Maximinds GeoIP API