【发布时间】:2016-06-12 19:13:16
【问题描述】:
在我正在开发的最近的应用程序中,用户位置是必不可少的。要获取用户的位置,我们正在使用位置管理器。不幸的是,这仅在用户启用了位置服务并授予访问权限时才有效。
如果用户不给予许可,我们只剩下几个不太准确的 ip 服务。我正在尝试找到一种方法,可以在不启用位置服务的情况下获得大致的用户位置,并且最好使用 ip 服务。
唯一有前途的 API 是 Google Maps Geolocation API,它声称可以使用手机信号塔和 wifi 节点获取用户位置。
我试图找到一个库或一种可以在 iOS 上使用它的方法,最好是 Swift,但没有成功。有人可以帮忙吗?
【问题讨论】:
-
如果你在用户拒绝给你位置数据后,你基本上闯入了用户的位置数据,你的应用将无法进入应用商店。如果您需要通用信息,请使用用户设置的语言环境。
-
如果位置服务被禁用,那么您在 iOS 中将做的最好的事情就是 IP 地址。 Google API 需要可见的手机信号塔和/或 wifi 网络的详细信息,而这些信息在 iOS 上是无法获取的,因此它也只会退回到 ip 并且正如@Quantaliinuxite 所说,如果用户希望您的应用程序有他们的位置,他们会给出给你
-
@Quantaliinuxite 我不打算侵入用户的位置数据,因为我知道该应用程序将被拒绝。我只是想找出是否有比 IP 地址更好的解决方案。 Google Geolocation API 看起来很有希望,但由于您无法获得所需的详细信息(如 Paulw11 所述)以使其运行,因此无法使用它。
标签: ios swift google-geolocation