当mapView执行时,要求用户使用iOS访问其位置的权限

时间:2012-10-08 13:25:25

标签: ios monodevelop core-location

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

3 个答案:

答案 0 :(得分:12)

您无需向用户请求权限,iOS会自动为您执行此操作。

您应该在CLLocationManager对象中设置purpose字符串属性,以便系统在询问时也可以告诉用户您希望其位置的原因。

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

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

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

答案 1 :(得分:11)

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

应设置NSLocationUsageDescription属性,并显示要显示给用户的消息

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

答案 2 :(得分:0)

您无需告知用户为何要访问其位置,尤其是在应用程序基于位置和映射的情况下。有了这个说,很高兴告诉用户在权限弹出窗口出现之前你将如何处理他们的数据,这样希望更多的用户可以接受。