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

时间:2013-12-12 06:26:24

标签: ios locationmanager

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

当用户第一次运行应用程序时,会出现一个对话框

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

如何避免此对话框。任何人都可以告诉我。感谢

5 个答案:

答案 0 :(得分:4)

未经用户明确许可,您无法使用位置服务或联系人。

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

尝试查看此答案,了解如何执行此操作: Checking for iOS Location Services

答案 1 :(得分:3)

你不能这样做。如果您尝试这样做,苹果将拒绝您的应用。请查看Doc1doc2

更新阅读此主题Location-Based Services

答案 2 :(得分:1)

基本上,如果您使用CLLocationManager来获取用户的位置,则不能。用户必须允许您的应用使用位置服务。我想你可以通过在地图上放一个别针来解决这个问题。例如,当您希望用户选择位置时,您会显示地图并让用户点按其位置所在的位置,但这不是真正用户友好的对象:)

我将详细说明上述过程,以便即使用户不允许位置服务,也可以手动获取用户位置。首先设置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.
    }
}

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

答案 3 :(得分:1)

你不能,app必须显示对话框

答案 4 :(得分:1)

我认为在ios中不允许这样做。 该提示对于了解应用程序的权限非常有用。 喜欢地图,照片等。