iOS-如何避免对话框“想使用你的当前位置”

在我的应用程序中,我的一个input是获取用户的位置以及用户的联系人。 这是从代码完成的。

当用户第一次运行应用程序时,他们得到一个对话框

“AppName”想使用你的当前位置。 我希望避免这个对话,因为这是一个重要的数据,并不希望用户意外按“不允许”

如何避免这个对话框。 任何人都可以让我知道。 谢谢

没有用户的明确许可,您不能使用位置服务或联系人。

但是,您可以检查这些权限并告诉用户需要允许这些服务正确使用它们。

试着看这个答案:如何检查iOS定位服务

你不能这样做。 如果你尝试这样做,苹果会拒绝你的应用程序。 检查这个Doc1 , doc2

更新阅读本主题基于位置的服务

你不能老兄,应用程序将不得不显示对话框

我认为这是不允许在iOS中。 该提示对于用来知道应用程序的许可是有用的。 像地图,照片等等。

基本上,如果你正在使用CLLocationManager获取用户的位置,你不能。 用户必须允许您的应用使用位置服务。 我想你可以通过在地图上放一个别针来解决这个问题。 例如,当你想要用户select的位置,你显示地图,让用户点击他们的位置,但是这不是真的用户友好:)

我将详细说明上述过程,以便即使用户不允许位置服务,也可以手动获取用户位置。 首先你build立你的CLLocationManager

_manager = [[CLLocationManager alloc] init]; _manager.delegate = self; [_manager startUpdatingLocation]; 

然后你可以观察它的委托方法

 -(void) locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status { if (kCLAuthorizationStatusAuthorized == status) { //the app is authorized to use GPS } else { //show map for manual location picking. } } 

希望这可以帮助你做出一些决定。