【问题标题】:Asking user permission for accessing their location with iOS when mapView does当 mapView 请求用户权限时,使用 iOS 访问他们的位置
【发布时间】:2012-10-08 13:25:24
【问题描述】:

我使用 MapView 开发了一个应用程序 - 当应用程序启动时,它会要求用户允许访问/使用他们的位置,而无需我进行任何编码。这是否足以获得许可,还是我还应该专门询问用户并提供访问理由?如果我没有特别提出请求并允许 MapView 代表我提出请求,Apple 会在提交时拒绝应用程序吗?

【问题讨论】:

    标签: ios monodevelop core-location


    【解决方案1】:

    您无需请求用户许可,iOS 会自动为您完成。

    您应该在 CLLocationManager 对象中设置purpose 字符串属性,这样当系统询问时,它也可以告诉用户您为什么想要他们的位置。

    locationManager.purpose = @"Location needed to show zombies that are nearby.";
    

    在调用startUpdatingLocation之前设置此属性,以便在请求使用位置权限的系统警报中向用户显示。

    在委托中,您可以实现方法locationManager:didChangeAuthorizationStatus: 以了解用户是否允许核心位置。

    【讨论】:

      【解决方案2】:

      从 iOS 6 开始,“目的”消息的正确位置是在 Info plist 文件中。

      NSLocationUsageDescription 属性应设置为向用户显示的消息

      Apple 提供了很好的文档: https://developer.apple.com/library/mac/#documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html

      【讨论】:

        【解决方案3】:

        您不需要告诉用户为什么要访问他们的位置,尤其是在应用程序基于位置和地图的情况下。话虽如此,很高兴在权限弹出窗口出现之前告诉用户您将如何处理他们的数据,以便更多用户接受。

        【讨论】:

          猜你喜欢
          • 2017-07-06
          • 2018-03-02
          • 1970-01-01
          • 1970-01-01
          • 2015-09-23
          • 2015-12-07
          • 2014-11-17
          • 2022-01-07
          • 2016-06-02
          相关资源
          最近更新 更多