再次提出“应用程序想要使用您当前位置”对话框

时间:2011-12-12 19:56:32

标签: ios core-location alert

  

可能重复:
  Is it possible to call alert “Allow to use current location” manually?

在我的应用中,所有功能都基于用户当前位置。观众是除了怪异之外的一切。

我认为用户首先启动应用程序 - 因为用户并不确定它能做什么,他/她可能会对应用程序“想要使用您当前位置?”感到困惑。如果他回答“不允许”,他将不会在屏幕上获得任何数据。

现在我处理:

- (void)locationManager:(CLLocationManager *)manager
   didFailWithError:(NSError *)error {

    if (error.code ==  kCLErrorDenied) {
        NSLog(@"Location manager denied access - kCLErrorDenied");

        UIAlertView *alert = 
              [[UIAlertView alloc] initWithTitle:@"Location issue" 
                                         message:@"Your location cannot be determined." 
                                        delegate:self 
                               cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];
        [alert release];
    } 
}   

好的,该应用程序有一个Reload-Button。假设用户点击了重新加载按钮,系统将不会再次询问他以启用基于位置的服务。

我如何强制iOS再次询问当前位置?

2 个答案:

答案 0 :(得分:0)

您无法强制再次显示此对话框。 iOS将在下次启动应用时再次询问用户。通过启动,我并不是指在将应用程序发送到后台后进入前台。

答案 1 :(得分:0)

目前,执行此操作的唯一快速方法似乎是要求用户重新启动应用程序然后崩溃(或设置UIApplicationExitsOnSuspend键并启动Safari)。当用户重新启动应用程序时,该对话框将可用。

当Apple审核时,这可能会或可能不会立即拒绝您的应用。