在我的应用程序中,我正在使用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];
}
)
答案 0 :(得分:3)
位置警报视图仅在您实际请求用户位置时显示,因此最简单的方法是确保第一次运行应用程序时启动CLLocationManager
或显示{{ 1}}直到你的免责声明被接受为止。这可能需要您移动一些方法。
答案 1 :(得分:0)
也许您需要首先检查免责声明,如果接受,则启动CLLocationManager
。如果不接受免责声明 - 等待接受并开始CLLocationManager
。
- (void)viewDidLoad
{
[super viewDidLoad];
if (disclaimerAccepted)
{
//start CLLocationManager
}
else
{
//Show disclaimer
}
}
- (void)disclaimerAccepted
{
disclaimerAccepted = YES;
//start CLLocationManager
}