我知道我可以使用CLGeocoder来获取用户的位置,如位置、行政区域和国家。我只需要这些信息(城市、州和国家(,同时独自登录我的应用程序。我不想让我的用户打开定位服务。我见过像币安这样的应用程序,它们在不打开用户位置的情况下获取城市、州和国家。
访问用户位置的最佳方式是通过CLGeocoder,因为它是最可靠的来源。这是你获得最准确位置的唯一方法。考虑到你不想使用它们的事实,你的选择有限。
最好的选择是让用户以无害的方式选择自己的位置。不过,这并不能保证您的请求能够成功返回。
您也可以使用NSLocale
和time zone
,但它们不可靠,因为它们依赖于用户的设置。
在我看来,你最好的选择是尝试通过IP访问用户的位置。因此,使用GeoIP
对web服务请求的IP地址进行反向地理编码
我在下面附上了一些链接,希望对你有用。您还可以查看Maximinds GeoIP Api。可能是有用的
如何通过程序获取Ip地址
最大化地理IP API