ios - 如何延迟提示位置服务权限

标签 ios mkmapview uialertview cllocationmanager

在我的应用程序中,我使用了 CLLocationManager 和 MKMapView。当应用程序启动时,我会向用户展示一份必须接受的免责声明(一次)。但是,当显示免责声明时,会出现一个弹出窗口,请求访问用户位置。

有没有办法延迟此 alertView 直到免责声明被接受? 请指教。

编辑:

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

if([[NSUserDefaults standardUserDefaults] objectForKey:@"disclaimerAccepted"] == nil) {
    [self firstRun];
    [[NSUserDefaults standardUserDefaults] synchronize];
}
else
{
    [self locationStuff];
}
)

最佳答案

位置警报 View 仅在您实际请求用户位置时显示,因此最简单的方法是确保您的应用程序第一次运行时启动 CLLocationManager 或显示MKMapView,直到您的免责声明被接受。这可能需要您移动一些方法。

关于ios - 如何延迟提示位置服务权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15324883/

相关文章:

ios - -[NSString dataUsingEncoding :] gives garbage at end of string in iOS 9, 不是 iOS 8

ios - 如何快速创建静态类?

iphone - 如何在 iOS7 中将 UIDatePicker 添加到 UIALertView

ios - iOS 13 SceneDelegate 上的 WKWebView 警报崩溃

ios - 为什么我没有从 NSStringFromClass 获得 NSString?

ios - 如何通过单元格内的按钮将 NSIndexPath 传递到另一个 ViewController?

iphone - 在 iPhone 应用程序中旋转 MKMapView

iphone - mapView "addAnnotation:addAnnotation"未根据需要使用 IF/ELSE 语句删除引脚

swift - MapView 显示所有注释并尽可能放大 map

iphone - 当应用程序进入 bkgr 时 uialertview 会发生什么