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

Jon*_*son 4 monodevelop core-location ios

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

pro*_*rmr 12

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

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

locationManager.purpose = @"Location needed to show zombies that are nearby.";
Run Code Online (Sandbox Code Playgroud)

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

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


小智 11

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

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

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