【问题标题】:How to get user's current location without asking for permission?如何在不请求许可的情况下获取用户的当前位置?
【发布时间】:2012-01-06 03:04:55
【问题描述】:

谁能告诉我如何在不征得用户许可的情况下获取用户当前的位置纬度/经度信息?喜欢自动获取用户的位置? 提前致谢。 什雷亚

【问题讨论】:

  • 你不能获取用户的ip吗?你可以通过它获得某种位置

标签: ios cocoa-touch core-location


【解决方案1】:

来自苹果的文档

重要提示:除了硬件不可用外,用户还有 拒绝应用程序访问位置服务的选项 数据。在应用程序的初始使用期间,核心位置 框架提示用户确认使用位置服务 是可以接受的。如果用户拒绝该请求,则 CLLocationManager 对象在未来向其委托报告适当的错误 要求。您还可以检查应用程序的显式授权 使用 authorizationStatus 方法的状态。

所以苹果不允许在未经用户许可的情况下使用 CoreLocation 框架。如果不使用 CoreLocation 框架,我认为没有其他方法,至少使用公共 API..

【讨论】:

  • 嗨。谢谢你的答复。但是有没有其他框架可以实现我想要的功能,或者它会被苹果严格拒绝?提前致谢。
  • 如果您使用 CoreLocation 框架,AFAIK 用户将收到警报,并且您无法控制该警报。现在不使用核心位置,就没有公共 API。请参阅this 线程。并且使用私有 API,我不知道那里有任何私有 API。如果有人在场,使用它,你就有被拒绝的风险。我不会推荐它..
  • 更不用说我觉得在未经用户许可的情况下获取用户的位置在道德上是冒险的。
【解决方案2】:

我不建议尝试绕过 Apple 的 TOS 关于获得用户为应用启用 CoreLocation 的许可。这似乎是让您的应用被拒绝的可靠方法。苹果可能是sensitive about this kind of stuff

Here's a related question I found.

【讨论】:

  • 嗨,感谢您的回复.. 我想知道,如果我们在我的应用程序开始时使用 CLLocationManager,那么每次用户打开应用程序时都会调用它吗?或者它会使用已经存储的位置坐标?提前致谢。
  • 据我记得,一旦用户授予一次权限,它就被授予该应用程序的所有后续使用。如果用户 两次 拒绝,那么应用程序的所有后续使用都会被拒绝。
猜你喜欢
  • 2020-05-26
  • 1970-01-01
  • 2020-12-25
  • 1970-01-01
  • 2016-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-01
相关资源
最近更新 更多