我知道我可以使用CLGeocoder来获取用户的位置,例如位置,行政区域和国家。我仅在登录到我的应用程序时需要此信息(城市,州和国家/地区)。我不想让我的用户打开定位服务。我见过像Binance这样的应用程序,他们在不打开用户位置的情况下获取城市,州和国家/地区的信息。
答案 0 :(得分:1)
访问用户位置的最佳方法是通过CLGeocoder,因为它是最可靠的来源。这是获得最准确位置的唯一方法。鉴于您不想使用它们,因此选择范围有限。
最好的选择是实际上让用户以一种无害的方式选择自己的位置。但这不能保证能成功返回您的请求。
您也可以使用NSLocale
和time zone
,但它们不可靠,因为它们取决于用户的设置。
我认为您最好的选择是尝试通过IP访问用户的位置。因此,请使用GeoIP
我附上了我在下面找到的一些链接,请看一下,希望它对您有用。 您也可以看看Maximinds GeoIP Api。可能有用